Cassandra LOCAL_QUORUM

标签 cassandra datastax cql cassandra-2.0 nosql

我无法理解/查找有关如何在 cassandra 中计算各种法定人数的信息。

假设我有一个跨 2 个数据中心使用网络拓扑策略的 16 节点集群。每个数据中心的复制因子为 2(DC1:2,DC2:2)。

在这个例子中,如果我使用 LOCAL_QUORUM 写入,我会将数据写入 4 个节点(每个数据中心 2 个),但确认何时发生? 1个数据中心的2个节点写入后?

另外,为了保持强读一致性,我需要写节点+读节点>复制因子。在上面的例子中,如果读取和写入都是 LOCAL_QUORUM,我将有 2 + 2 这不能保证强读取一致性。我理解正确吗?那么我需要什么级别来确保强读取一致性?

这里的目标是确保如果数据中心出现故障,读/写可以继续,同时最大限度地减少延迟。

最佳答案

协调器收到来自协调器同一 DC 的 2 个节点的确认后,写入将成功。

使用 LOCAL_QUORUM 进行读取和写入将获得强一致性,前提是读取和写入使用相同的 DC,并且仅用于此 DC。

关于 Cassandra LOCAL_QUORUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31683907/

相关文章:

go - 我们如何使用 golang 模拟 cassandra session ?

apache-spark - datastax - Spark shell 启动错误

cassandra - Cassandra 中的原子批处理

java - Cassandra 1 至 Cassandra 2

java - Cassandra - JVM OOM 直接缓冲区错误

mysql - 指定的关键部分过多;最多允许 1 个零件 cassandra 引擎和 mariadb

cassandra - 在使用 Datastax API(使用新的二进制协议(protocol))时在 Cassandra 中创建列族或表

cassandra - Cassandra 中的分区键列

cassandra - 使用 Astyanax 列出 Cassandra 列族中的所有行

java - 本地主机/127.0.0.1 :9042] Cannot connect