gpt4 book ai didi

cassandra - EACH_QUORUM 对数据中心丢失具有容忍度

转载 作者:行者123 更新时间:2023-12-05 06:41:51 24 4
gpt4 key购买 nike

我正在寻找一些想法,以在 3 个数据中心的场景中实现 EACH_QUORUM 的一致性,并容忍 1 个数据中心的写入丢失。

根据我的理解,EACH_QUORUM 不能容忍数据中心丢失。只要数据中心关闭,我所有的写入都会失败。一种选择是重试具有较低一致性级别的请求,例如“QUORUM”。

我正在寻找的选项是,是否有一种方法可以删除发生故障的 DC 并在剩余的 2 个事件数据中心上实现 EACH_QUORUM。从服务器端,我能想到的唯一方法是停用故障数据中心的所有节点,这很麻烦。

假设我的客户端应用程序知道一个数据中心已关闭,Cassandra 客户端驱动程序是否有办法传入实时数据中心列表,以便协调器节点尝试仅在这些数据中心上实现 EACH_QUORUM。

希望对此有任何见解。

最佳答案

您可以通过实现 RetryPolicy 来实现您对 local_quorum 重试的想法并将其应用于 session 。由于驱动程序知道它无法实现 each_quorum,因此它不会实际尝试,您可以在重试策略中处理错误,而不是让应用程序代码冒泡。我已经成功地尝试了这种方法。

我正在考虑的另一个想法是为每个 DC(配置为“本地 DC”)创建一个单独的 session ,并针对每个 DC 异步执行。然后根据错误和我可以从集群状态收集到的信息,记录警告或抛出错误。

关于cassandra - EACH_QUORUM 对数据中心丢失具有容忍度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39359151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com