zookeeper选举
zookeeper选举
假设共有四台机器,从四台机器中选择一个leader出来
项目启动,开始选举
启动是一个一个机器启动的,所以总会有先后顺序,同时四台机器中有一台需要作为观察者存在,不可以作为leader,所以就只剩下三台机器争抢leader。前面提到机器启动顺序,那么前两台如果启动,其实这个时候leader已经选举完毕了,只要票数超过参与的一半数量就可以产生,所以实际参与选举的只有两台
如何比较 myid---->工作人员控制的数值 (用以指定谁当leader,数值设置大点即可),zXid 事务id,简单点理解就是增删改加一,数据就最新,最新就优先。
互相交换选票,选出最优解 放入投票箱,一共两轮保证票的可靠性。
leader崩溃,开始选举
除观察者和已崩溃者之外重复上述流程。

浙公网安备 33010602011771号