知识卡片

共识不等于整体一致

普通读书笔记卡 · 1730.d

内容

Paxos、Raft、Zab 通常只保证写入或日志复制的一致性;系统整体一致性还取决于读路径、会话顺序和等待策略。发散:不要把“用了共识算法”自动翻译成“所有 API 线性一致”。

参考来源

- 位置:《分布式系统与一致性》第15章《线性一致性与强一致性》"6.共识算法与一致性"一节(源文件:_epub-src/OEBPS/Text/chapter19.xhtml) - 结论依据:原文明确"Zab算法是不能保证顺序一致性的,还要控制好读操作的流程才能让ZooKeeper整体(读+写)达到顺序一致性。使用Zab算法,仅仅能保证写操作达到线性一致性。与此相同,前面所讲的Paxos算法、Raft算法也是如此"。 - 原始内容:从前面所讲的内容可以看出,Zab算法是不能保证顺序一致性的,还要控制好读操作的流程才能让ZooKeeper整体(读+写)达到顺序一致性。使用Zab算法,仅仅能保证写操作达到线性一致性。与此相同,前面所讲的Paxos算法、Raft算法也是如此。