有 2 个 DC,每个有 3 个节点,用于写入的 RF 为 2,读取其 each_quorum。轻量级事务用于确保跨 DC 更新的一致性。现在发生的情况是,对于某些记录,数百(可能数千)的 lwt 更新大约在同一时间到达集群。正在发生的事情是,所有这些更新都以“操作超时 - 仅收到 0 个响应”而失败,甚至一次尝试都无法更改该记录的状态并使其其他所有人都失败。理想情况下,第一次尝试通过更新并更改值会更好,这样后续的 lwt 更新将不会通过,因为 lwt 值不满足。有什么办法可以做到这一点?
尝试增加 cas_contention 超时,但这无济于事,除了让所有事务在失败前等待更长时间。使用了“本地一致性”,这使 lwt 运行得更快,但这对我们的情况没有帮助,因为我们希望在两个 DC 上保持强一致性。有什么选择吗?