ZAB 协议是什么,为什么分恢复与广播?
查看完整题解
参考回答
直接回答
ZAB 是 ZooKeeper 用来传播状态修改的原子广播协议。它让多份副本按统一顺序接受同一批修改,也规定了换 Leader 时怎样接上之前的历史。
讲清原理
集群先选出候选 Leader,确定新 epoch 并同步足够多成员的历史。进入正常广播后,Leader 发提案,收到法定数量的 ACK 后提交并发出提交消息,副本按序应用。
例子与易错点
旧 Leader 刚让多数派记录了一笔事务就掉线。新一轮必须安全处理先前历史,需要先接上已提交的那段历史。
延伸阅读 ZooKeeper 怎样保证事务的先后顺序? · ZooKeeper 主从节点如何同步状态? · ZAB 和 Paxos 有什么联系与区别?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。