MrZhangAdd 2019-10-31
某日,ES帮会中决定选取老大统领帮会走向辉煌。
大家七嘴八舌,讨论方案,场面一顿混乱。傻牛站起来大喊一声:谁比俺力气大,谁就当老大。
(ES集群在启动时,选取集群master,按照nodeId进行排序。同时为防止分裂,需一半以上节点同意。)
于是乎,众人决定比拼腕力。经过一番比试,傻牛凭借一身蛮力,决战到最后,并荣获扳手腕大赛。
众人拍手欢呼,单膝下跪,高呼“傻牛帮主牛批,ES帮会千秋万代”。
(当master节点故障时,重复以上选举mater过程。)
次日ES帮会下山打家劫舍,没料到误入陷阱,傻牛被一枪撂倒。ES帮会顿时鸟兽人散。
逃回山寨后,众人决定再选帮主,于是乎,第二届选帮主掰手腕比赛热火朝天的开始了。。。
五百年后,一群热血青年聚集上海滩,欲成立帮会。时代在进步,相比较ES帮会,ZOOKEEPER帮会的选帮主相对高明。众成员决定在ES帮会选帮主的基础上进行改进,不能每次都用掰手腕来进行决定。遂决定帮主对所有帮会成员进行排序并根据序号颁发令牌。今后若重新选派帮主,根据令牌序号进行排序。
(zookeeper集群在启动时,根据节点id和事务id进行比较。在集群初始化时,事务id都为空,按照节点id进行排序)
众人围坐一团,开始商量第一任帮主人选。许文强一马当先,“帮会刚刚成立,大家的令牌序号都还没有.既然这样,那我们就先比比腕力吧”。经过几轮大战,众人纷纷败给许文强,就这样上海滩,许文强正式成为上海滩ZOOKEEPER帮会第一任帮主。
ZOOKEEPER帮会以运送kafka消息为生,生意蒸蒸日上。终于有一日,一直眼红kafka生意的某军阀施计将许文强抓入大牢。
(当zookeeper集群leader故障时,会重新选取leader。在选举过程中,如果原leader复活,则继续担任leader角色)
帮会不可一日无主,ZOOKEEPER帮会众成员决定择日选举新任帮主,却没料到许文强被军阀的情人冯程程救出。于是昭告江湖,取消择日选取新任帮主,ZOOKEEPER帮会誓死追随强哥。
()
作为强哥的兄弟丁力通过偶然的机会认识了冯程程,对她的美貌一见钟情。而冯程程却对许文强一直倾慕,为了得到冯程程,丁力略施小计,毒杀许文强。
ZOOKEEPER帮会众人听到强哥去世的噩耗,痛心不已。但帮会不可一日无主,于是决定择日选取新任帮主。
(当zookeeper集群leader故障时,会重新选取leader。先比较事务id,如果事务id相同,再根据节点id排序)
选取帮主之日,丁力迫不及待,“当初成立帮主之际,定下的帮主规矩是根据令牌序号进行选举,而我自入帮会以来,一直是千年老二,这下强哥不在了,理当我出任帮主”。众人尽管纷纷不服,但低头看着自己腰间令牌的序号,却也无可奈何,只能同意丁力出任帮主之位。于是,丁力走马上任、出任ZOOKEEPER帮会新任帮主。。。
以上故事纯属虚构,同时故事仅仅阐述了ES、zookeeper选举过程中的重要过程。仍有部分细节,无法对应到故事中,需了解更详细的朋友请自行研究。
以上故事仅仅是让各位朋友能够更好的理解ES、zookeeper选举过程。