Skip to content

选主问题

Leader election

使所有正确进程最终一致输出同一唯一进程为领导者的分布式任务。

形式陈述

选主任务要求在允许的执行中,最终恰有一个进程被选为 leader,所有正确进程对其身份一致,并通常要求被选身份合法。可解性依赖唯一标识、网络拓扑、同步性、故障和公平性;在完全对称匿名系统中,确定性算法可能无法破坏对称。选主可服务于共识,但本身不等同于对值达成共识。

直觉

系统需要从多个对等进程中稳定选出唯一协调者,关键困难是所有进程看到的信息可能完全对称或过时。

例子与边界

有唯一 ID 的环上可比较 ID 选最大者;匿名对称环中无外部不对称时确定性选主不可能。故障检测器可帮助最终稳定到一个正确 leader,但短暂出现多个候选不一定违反最终选主规格。

推论与应用

选主用于主副本协议、调度器、锁服务、Raft 任期和故障恢复。

参考资料
  • Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996,Chs. 1–25。
  • Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” Journal of the ACM 32(2), 1985,Full paper。