加载中...

Bully 算法由 Héctor García-Molina 于 1982 年提出,是分布式系统中最经典的协调者(leader)选举算法之一,规则是"编号最大的存活进程获胜",因高编号节点可"欺压"低编号节点而得名。
当某进程发现协调者失联,它向所有编号更高的进程发送选举消息:若无人应答,它宣布自己当选并广播;若有更高编号进程回复,则由后者接管选举流程递归进行。任何更高编号节点恢复后可随时发起选举夺回领导权。
优点是逻辑简单、收敛快;缺点是消息复杂度最坏为 O(n²),且依赖可靠的故障检测,网络分区下可能出现双主。与之齐名的还有基于逻辑环的 Ring 选举算法。Elasticsearch 7 之前的 Zen Discovery 选主即带有 Bully 思想的影子。

登录 后参与讨论
暂无讨论,来发表第一条评论吧