享过了:
http://rdc.taobao.com/blog/cs/?p=162
这里不再赘述。QuorumPeer 线程调用
FastLeaderElection.lookForLeader 选择 leader,该方法会在确定 leader 之后改变 QuorumPeer
的状态为
LEADING, FOLLOWING 或 OBSERVING。QuorumPeer 根据 Leader election 确定
的这
3 个状态之一对应创建
LeaderZooKeeperServer、FollowerZooKeeperServer、ObserverZooKeeperServer 和
Leader、Follower、Observer 对象,并调用各自的 lead、followLeader、observeLeader 方法,如
下图所示
:
zookeeper-3.3.1-start