形式陈述
选主任务要求在允许的执行中,最终恰有一个进程被选为 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。