EACH_QUORUM 只有一个 Cassandra 数据中心的语义

Semantics of EACH_QUORUM with only one Cassandra data-centre

documentation for Cassandra consistency levels 谈到 EACH_QUORUM 一致性级别:

A write must be written to the commit log and memtable on a quorum of replica nodes in all data centers. Used in multiple data center clusters...

只有一个数据中心时EACH_QUORUM一致性级别的语义是什么?我可以想到两种可能性:

经过一些实验,使用 Cassandra 2.1.5 和 Datastax Java 驱动程序 2.1.5,我发现 实现了 (如果不是 intended 语义)是 EACH_QUORUM 一致性级别仅在您拥有多个数据中心时才有效。当只有一个数据中心时,Java 驱动程序失败 EACH_QUORUM 写入,抛出一个 UnavailableException 抱怨有 0 个节点可用。使用 QUORUM 写入工作正常。

因此,如果您只有一个数据中心,请不要使用EACH_QUORUM一致性级别。请改用 QUORUM