标签:zab zookeeper 工作 进程 构建 最新 strong 高可用 过程
当 Leader 服务器出现网络中断、崩溃退出与重启等异常情况时,ZAB 协议就会进人恢复模式并选举产生新的Leader服务器。这个过程大致是这样的:
1. Leader election(选举阶段):节点在一开始都处于选举阶段,只要有一个节点得到超半数节点的票数,它就可以当选准 leader。
2. Discovery(发现阶段):在这个阶段,followers 跟准 leader 进行通信,同步 followers 最近接收的事务提议。
3. Synchronization(同步阶段):同步阶段主要是利用 leader 前一阶段获得的最新提议历史,同步集群中所有的副本。同步完成之后 准 leader 才会成为真正的 leader。
4. Broadcast(广播阶段):到了这个阶段,Zookeeper 集群才能正式对外提供事务服务,并且 leader 可以进行消息广播。同时如果有新的节点加入,还需要对新节点进行同步。
相同点:
不同点:
ZAB协议中,每个Proposal中都包含一个 epoch 值来代表当前的Leader周期,Paxos
中名字为Ballot。
ZAB用来构建高可用的分布式数据主备系统(Zookeeper),Paxos
是用来构建分布式一致性状态机系统。
在Paxos算法中,一个新选举产生的主进程会进行两个阶段的工作。第一阶段被称为读阶段,在这个阶段中,这个新的主进程会通过和所有其他进程进行通信的方式来收集上一个主进程的提案,并将他们提交。第二阶段被称为写阶段,在这个阶段,当前主进程开始提出他自己的提案。
标签:zab zookeeper 工作 进程 构建 最新 strong 高可用 过程
原文地址:https://www.cnblogs.com/lijiahaoAA/p/12576508.html