温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

etcd选举机制

发布时间:2020-07-10 23:07:21 来源:网络 阅读:977 作者:facinglife 栏目:建站服务器

etcd是一种先进的key-value的存储系统,本文主要是学习etcd的心得,如有误解,敬请拍砖

主要分成三种形式的选举,先说一下etcd节点的三种状态,分别为leader,candidate和follower

第一种:初始选举

A、B、C、D现在进场,那么谁当领导呢?A(变身candidatae)就分别找BCD谈话,“我来当,你没意见吧”。B\C都没什么主见,就同意了,D虽然不同意,但是大家都这么说,只好也同意了。A就开始行使权利,定时从BCD同步日志,并发送心跳(heartbeat)


第二种,leader异常

A是领导,BCD是follower,大家正在工作。此时突然A肚子痛了上厕所(故障),BCD都有事,但是没办法汇报。BCD就商量了,咱们重新选个领导吧!于是B(变身candidate)主动单独跟C、D询问,"我来当领导,你们有意见没有?"。CD都没有意见,于是B就当了领导,那么此时A刚好回来啦,就发现这一幕,怎么办?他们就一较高下,根据日志的步进数来决定谁当领导,因为A缺席了那么久,很多消息都没有,所以就失败了。于是A清理自己的消息,变成了follower。


第三种,follower异常

同上,但是肚子痛的是C,不是A。ABD正常工作,当C回来了,就直接成为follower。


第四种,初始的follower中在同一个时间同时变身(成为candidate),

A去找C谈话了,B去跟D谈话了。C答应跟A,D答应跟B,此时A去问D就被直接拒绝了,B问C也同样被拒绝。A问B两人都是candidate,谁怕谁啊!你也拒绝我,我也拒绝你。那么四个人怎么办呢?A经过一个时间差(150ms~300ms)再次向C,D发起谈话,此时,C,D都同意了A(B还没有反应过来),此时A已经成为了leader,B发现已经有了leader了,重新成为了follower.

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI