算法基础
思考:Zookeeper是如何保证数据一致性的?这也是困扰分布式系统框架的一个难题。
拜占庭将军问题
Paxos算法
ZAB协议
什么是ZAB算法
Zab 借鉴了 Paxos 算法,是特别为 Zookeeper 设计的支持崩溃恢复的原子广播协议。基于该协议,Zookeeper设计为只有一台客户端(Leader)负责处理外部的写事务请求,然后Leader 客户端将数据同步到其他 Follower 节点。即 Zookeeper 只有一个 Leader 可以发起提 案。
ZAB协议内容
Zab 协议包括两种基本的模式:消息广播、崩溃恢复。