【分布式】Zookeeper的Leader选举-选举过程介绍
【分布式】Zookeeper的Leader选举-选举过程介绍
选举开始,每台服务器都有一张选票,并且会投自己,选自己当选Leader。
在投票完成后,会将投票信息发送给集群中的所有服务器(观察者服务器不参与选举)。
选票由两部分组成:服务器唯一标识myid和事务编号zxid,即(myid,xzid)。
十年的吉利网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整吉利建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“吉利网站设计”,“吉利网站推广”以来,每个客户项目都认真落实执行。
zxid越大说明数据越新,在选择算法中的权重越大。
myid越大,在选择算法中的权重越大。
比较选票时会先比较zxid,zxid大的获胜,zxid相同时比较myid,myid大的获胜,胜利方选票不变,失败方选票将变成与胜利方一样,并再次将该投票发送出去。
当有过半机器收到相同的投票信息,则选出Leader,选举结束。
例如:
有A,B,C三台服务器参与竞选,myid分别为1,2,3,zxid分别为9,9,8。
选举过程为:
A收到的选票为(2,9),(3,8),与自己的(1,9)比较,选票变为(2,9),投出。
B收到的选票为(1,9),(3,8),与自己的(2,9)比较,结果不变。
C收到的选票为(1,9),(2,9),与自己的(3,8)比较,选票变为(2,9),投出。
此时B机器拥有过半选票,当选为Leader。
由上面规则可知,通常那台服务器上的数据越新(ZXID会越大),其成为Leader的可能性越大,也就越能够保证数据的恢复。如果ZXID相同,则myid越大机会越大。
参考资料:
http://www.cnblogs.com/leesf456/p/6107600.html
https://www.cnblogs.com/yuyijq/p/4116365.html
http://www.cnblogs.com/ASPNET2008/p/6421571.html
当前名称:【分布式】Zookeeper的Leader选举-选举过程介绍
链接分享:http://pwwzsj.com/article/poghop.html