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

ZAB 协议是什么,为什么分恢复与广播?

查看完整题解

参考回答

直接回答

ZAB 是 ZooKeeper 用来传播状态修改的原子广播协议。它让多份副本按统一顺序接受同一批修改,也规定了换 Leader 时怎样接上之前的历史。

讲清原理

集群先选出候选 Leader,确定新 epoch 并同步足够多成员的历史。进入正常广播后,Leader 发提案,收到法定数量的 ACK 后提交并发出提交消息,副本按序应用。

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

例子与易错点

旧 Leader 刚让多数派记录了一笔事务就掉线。新一轮必须安全处理先前历史,需要先接上已提交的那段历史。

延伸阅读 ZooKeeper 怎样保证事务的先后顺序? · ZooKeeper 主从节点如何同步状态? · ZAB 和 Paxos 有什么联系与区别?

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

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