前言 ZooKeeper对Zab协议的实现有自己的主备模型,即Leader和learner(Observer + Follower),有如下几种情况需要进行领导者的选举工作 情形1: 集群在启动的过程中,需要选举Leader 情形2: 集群正常启动后,leader因故障挂掉了,需要选举Leader 情形3: 集群中的Follower数量不足以通过半数检验,Leader会挂掉自己,选举新leader 本篇博文,从这三个方面进行源码的追踪阅读 程序入口 QuorumPeer.java相当于集群中的每…