gpt4 book ai didi

cassandra - 即使无法满足​​一致性,Cassandra 是否会写入节点(已启动)?

转载 作者:行者123 更新时间:2023-12-02 22:26:43 33 4
gpt4 key购买 nike

Cassandra 文档中的以下陈述是我怀疑的原因。

例如,如果使用复制因子为 3 的 QUORUM 写入一致性级别,Cassandra 会将写入复制到集群中的所有节点,并等待两个节点的确认。如果写入在一个节点上失败,但在另一个节点上成功,Cassandra 会报告在该节点上复制写入失败。但是,在另一个节点上成功的复制写入不会自动回滚。

引用号:http://docs.datastax.com/en/cassandra/2.1/cassandra/dml/dml_atomicity_c.html

那么即使无法满足​​一致性,Cassandra 也会写入节点(已启动)吗?

最佳答案

我明白了。如果 Cassandra 知道无法满足一致性,它甚至不会尝试写入。如果可以满足一致性,但没有足够的副本来满足复制因子,那么 Cassandra 将写入当前可用的副本并给出成功消息。稍后,当副本再次启动时,它将写入其他副本。

例如如果复制因子为 3 ,则 3 个节点中有 1 个已关闭,那么如果我以 2 的一致性进行写入,则写入将成功。但如果复制因子为 2 并且 2 个节点中的 1 个已关闭,那么如果我以 2 的一致性进行写入,Cassandra 甚至不会写入可用的单个节点。

文档中提到的是在能够满足一致性的情况下发起while write的情况。但中间有一个节点宕机,无法完成写入,而另一节点却写入成功。由于无法满足一致性,客户端将收到失败消息。写入单个节点的记录将在稍后节点修复或压缩期间删除。

关于cassandra - 即使无法满足​​一致性,Cassandra 是否会写入节点(已启动)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478353/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com