【发布时间】:2019-10-25 09:21:04
【问题描述】:
我是 Cassandra 的新手,我想知道,Cassandra 是否有可能返回不一致的值?
例如,假设我们有六个节点的集群。
LOCAL_QUORUM = (replication_factor/2) + 1
这将为我们提供 4 的本地仲裁。因此,对于简单的写入,六个节点中有四个必须响应,这意味着四个节点将具有最新值。
据我了解,没有更新的两个节点最终都是通过 Gossip Protocol 更新的。
如果是这样,如果客户端从两个未读取的节点之一读取会发生什么? 在协议发生之前更新?他们是否有获得陈旧价值的风险?
读取修复如何影响这一切?
*也是一个快速的旁注。并不是说你会这样做,但是如果你将复制因子设置为等于一致性级别,那本质上与背面的 2PC(两阶段提交)操作相同吗?
【问题讨论】:
标签: java cassandra nodes distributed-system gossip