zookeeper选举制度
时间: 2023-11-02 22:05:43 浏览: 68
zookeeper选举机制图
Zookeeper的选举制度包括三种方式:LeaderElection、AuthFastLeaderE和FastLeaderElection(最新默认)。在选举过程中,服务器会根据逻辑时钟Epoch来判断选举状态。首先,当一个服务器接收到来自其他服务器的选举消息时,如果该消息的逻辑时钟与当前服务器的逻辑时钟相同,服务器将该数据保存到recvset,并将自己设置为LEADING状态,表示该服务器已经投票选出结果。如果此时接收的消息来自其他服务器,宣称自己是leader,并且有半数以上的服务器选举它,那么选举状态将被设置为该服务器,并退出选举过程。如果接收的消息与当前逻辑时钟不符,说明在另一个选举过程中已经有了选举结果,该选举结果将被加入到outofelection集合中。根据outofelection集合的情况,可以判断是否可以结束选举。如果可以,服务器将保存当前逻辑时钟,设置选举状态,并退出选举过程。最后,判断服务器是否已经收集到了所有服务器的选举状态。如果是,根据选举结果设置自己的角色(FOLLOWING还是LEADER),并退出选举过程。
阅读全文