Cassandra 中的一致性级别

Consistency levels in Cassandra

根据我对Cassandra的完整分析,得出如下图表,是否完美,如有不妥请告知。

正如我之前所说 - 您不需要考虑集群中的节点数量(只要您的集群有足够的节点来满足您选择的复制因子)。

集群可以容忍多少节点故障仅由复制因子和所需的一致性级别定义(您可以在 table 中播种)。此外,我建议在几乎所有情况下都不要选择一致性级别 TWO 或 THREE,因为根据我的经验,ONE 或 QUOURUM 通常就足够了,您可以在 运行 集群上更改复制因子而不影响应用程序行为。

您是否注意到您的建议有一个例外 CL.QUROUM?

最后一点 - 您应该考虑您真正需要多少一致性。

只有一种算法。即:

RF > WC + RC
RF = Replication factor  
WC = Write consistency   
RC = Read consistency

也就是说,如果你这样设计,Replication factor大于read consistency和write consistency的总和,就不用担心数据的一致性了。

例如:如果您有一个RF = 3, WC= 2, RC = 1 的数据,您在读取时可能无法获得更新的数据。但是如果让WC = 2, RC = 2, 有一点机会得不到更新数据

所以,要确定一致性级别,请根据需要进行决策。但确保执行查询保持 RF > WC+ RC .
你会在这里得到详细的解释:https://docs.datastax.com/en/cassandra/2.1/cassandra/dml/dml_config_consistency_c.html