经典领导选举算法:Bully 算法

Bully算法是一种基于节点ID的领导选举算法,通过ID大小选举领导者。在选举过程中,ID最大的节点成为领导者。文章讨论了算法的安全性问题以及在网络分区情况下的问题,并介绍了四种改进方法:故障转移节点列表、节点分角色、邀请算法和环形算法,以提高选举效率和应对复杂网络环境。
摘要由CSDN通过智能技术生成

这是最常用的一种领导选举算法,它使用节点 ID的大小来选举新领导者。在所有活跃的节点中,选取节点 ID 最大或者最小的节点为主节点

以下采用“ID 越大优先级越高”的逻辑来解释算法:

每个节点都会获得分配给它的唯一 ID。在选举期间,ID 最大的节点成为领导者。因为 ID 最大的节点“逼迫”其他节点接受它成为领导者,它也被称为君主制领导人选举:类似于各国王室中的领导人继承顺位,由顺位最高的皇室成员来继承皇位。如果某个节点意识到系统中没有领导者,则开始选举,或者先前的领导者已经停止响应请求。

算法包含 4 个步骤:

1集群中每个活着的节点查找比自己 ID 大的节点,如果不存在则向其他节点发送 Victory 消息,表明自己为领导节点;
2如果存在比自己 ID 大的节点,则向这些节点发送 Election 消息,并等待响应;
3如果在给定的时间内,没有收到这些节点回复的消息,则自己成为领导节点,并向比自己  ID 小的节点发送 Victory 消息;
4节点收到比自己 ID 小的节点发送的 Election 消息,则回复 Alive 消息。

在这里插入图片描述

上图举例说明了 Bully 领导者选举算法,其中:

节点3 注意到先前的领导者 6 已经崩溃,并且通过向比自己 ID 更大的节点发送选举消息来开始新的选举;

45 以 Alive 响应,因为它们的 ID 比 3 更大;
3 通知在这一轮中作出响应的最大 ID 节点是55 被选为新领导人,它广播选举信息,通知排名较低
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值