我对 Cassandra 很陌生,我想知道,Cassandra 是否有可能返回不一致的值?
例如,假设我们有六个节点集群。
LOCAL_QUORUM = (replication_factor/2) + 1
这将为我们提供 4 的 Local Quorum。因此,对于简单的写入,六个节点中有四个必须响应,这意味着四个节点将具有最新值。
据我了解,没有更新的两个节点最终都是通过 Gossip Protocol 更新的。
如果是这样,如果客户端从协议发生之前未更新的两个节点之一读取会发生什么?他们是否有获得陈旧价值的风险?
阅读修复如何影响这一切?
*也是一个快速的旁注。并不是说您会这样做,但是如果您将复制因子设置为等于一致性级别,那么这与背面的 2PC(两阶段提交)本质上是否相同?