这篇文章我们来聊聊Zookeeper和其核心原子广播机制。
首先我们先来说说Zookeeper的核心是什么来引出今天的话题:
Zookeeper 的核心是原子广播机制,这个机制保证了各个 server 之间的同步。
同时,Zookeeper 的核心是原子广播机制是靠Zab 协议。
那么,能够实现Zookeeper 的核心原子广播机制的Zab协议的恢复模式,具体指什么?
当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数 server 完成了和 leader 的状态同步以后,恢复模式就结束了。状态同步保证了 leader 和 server 具有相同的系统状态。
同时,能够实现Zookeeper 的核心原子广播机制的Zab协议的广播模式,具体指:
一旦 leader 已经和多数的 follower 进行了状态同步后,它就可以开始广播消息了,即进入广播状态。这时候当一个 server 加入 ZooKeeper 服务中,它会在恢复模式下启动,发现 leader,并和 leader 进行状态同步。待到同步结束,它也参与消息广播。ZooKeeper 服务一直维持在 Broadcast 状态,直到 leader 崩溃了或者 leader 失去了大部分的 followers 支持。