cassandra可能的节点丢失

pgpifvop  于 2021-06-14  发布在  Cassandra
关注(0)|答案(2)|浏览(512)

我是一个相当新的Cassandra和发现这个网站
https://www.ecyrd.com/cassandracalculator/
不知道有多准确,但我有一个误解。考虑以下示例:
簇大小8
复制因子5
阅读关注一
写问题一
因此,我可以在不影响应用程序的情况下丢失4个节点。有人知道是什么计算使我们得出这个结果吗?提前谢谢。
p、 我想说的是,除了“我可以在不影响应用程序的情况下释放多少节点”之外,我对任何其他方面都不感兴趣。我要寻找的答案不是一致性是如何工作的,或者其他任何东西,而是“我可以在不影响应用程序的情况下释放多少节点”的描述结果背后的唯一等式以及原因。

20jt8wwn

20jt8wwn1#

一个cl.one总是可能导致数据丢失。例如:协调器接收请求、本地写入并向客户端发送ack的复制副本。如果该系统在数据发送到其他副本之前被流星击中,则会导致数据丢失。
如果使用local\u quorum或quorum,则在rf=5的情况下,可以使副本集的2个节点发生故障,而不会丢失任何数据(不包括不遵循预期的修复操作实践的情况)。但是,使用cl.one,即使5个副本中有4个死亡,应用程序仍然可以运行,在某些情况下,可用性比持久性和一致性更重要。我建议总是从quorum开始,然后只有在性能要求的可用性未得到满足时才更改一致性。

lbsnaicq

lbsnaicq2#

您还可以根据需求在查询级别调整一致性。从state=''使用一致性仲裁的用户中选择*;是的,cl one提供了比quorum更好的可用性,但quorum将为您提供更一致的数据。

相关问题