Bully选举算法

753 阅读1分钟

翻译于 www.cs.colostate.edu/~cs551/Cour…

image.png

开始有6个节点,两两互相通信,其中P6是leader节点,因为它有最大节点编号

现在P6宕机下线了

image.png

加入节点3发现P6不再给它响应,则发起选举给编号比它大的那些节点

image.png

image.png

节点4和节点5给了节点3响应,并告诉它,他们将接管成为leader

image.png

节点4发送选举消息给节点5和节点6,只有节点5给它响应并接管选举

image.png

节点5发送一条选举消息给节点6,节点6没有响应,则节点5声明自己赢得leader角色

image.png

image.png

节点5告诉其他所有节点,自己现在是leader。

小结:bully算法,每个节点都有一个编号,只有编号最大的存活节点才能成为leader节点。实际应用过程中,节点比较会按实际业务情况来定比较算法。