Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

ZAB 和 Paxos 有什么联系与区别?

查看完整题解

参考回答

直接回答

两套协议都靠法定数量的成员盖章。两轮成员至少有一部分重合,已经确认的结果才能传到新一轮。基本 Paxos 讲的是如何选定一个值,ZooKeeper 用 ZAB 传播一条由 Leader 排好的状态修改序列。

讲清原理

若要比较一连串操作,应该把 ZAB 与 Multi-Paxos 这类连续实例或日志实现放在一起讨论。ZAB 特别强调 Leader 更换时先厘清旧历史,再有序传播新修改。

ZAB 从提案、法定票数到按序应用
ZAB 从提案、法定票数到按序应用

例子与易错点

先创建节点再改它的值,中途切主时需要保住这条依赖顺序。说“ZAB 就是 Paxos 的一个配置”会遗漏恢复和广播约束。

延伸阅读 ZAB 协议是什么,为什么分恢复与广播? · Paxos 怎么让多台机器对一个值达成一致?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。