配置Cassandra以实现跨多个数据中心的一致性

Modified on: Fri, 08 Nov 2019 20:20:02 +0800

目前,我们在两个数据中心的每一个中运行一个4节点的Cassandra环。我们想将它们重建为一个8节点环。在其他条件相同的情况下,我们真的希望获得一致的读取,因此我们当前运行QUORUM读写操作。但是,如果我们丢失了一个数据中心,那么由于无法满足ConsistencyLevel,这会导致许多或所有请求失败。由于我们计划向两个数据中心发送请求,因此切换到LOCAL_QUORUM不足以保证一致性。

Cassandra似乎严重缺少仅针对可用节点测量的ConsistencyLevel设置。

在这种情况下,如果没有可用性故障,可以采取哪些措施来获得最大的一致性,以及为了获得它而必须交易什么?

作者:zstewart

最佳答案

您可以在正常操作中使用QUORUM读取/写入应用程序,然后在出现DC故障时故障转移到LOCAL_QUORUM。这是你必须自己做的事情,因为Cassandra不会自动执行此操作。 (可选)如果DC发生故障,您可以在打开它之前执行nodetool修复以进行读/写访问。显然,多DC场景中的QUORUM可能意味着你会遇到延迟问题,具体取决于它们之间的管道,但这是一个你需要权衡的权衡。

作者:rs_atl

相关问答

添加新评论