Skip to content

选主问题

Leader election

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

条目类型
模型

形式陈述

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

直觉

选主规格通常同时包含唯一性与终止性:所有正确进程最终认可同一名合法进程,并在系统稳定后不再无限换主。困难不只是“找最大编号”,而是进程无法直接观察全局成员状态;超时只说明暂时没收到消息,可能是网络慢、对方崩溃或自身被隔离。唯一 ID、随机性、时序上界或故障检测器都是用来打破对称与不确定性的额外来源。

环上最大 ID 选主
例子与边界

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

在具有唯一 ID 的同步环上,每个进程转发见过的最大 ID,至多一圈后最大者可被所有人确认。匿名环若所有节点初态、端口标号与调度完全对称,确定性算法会让所有节点始终采取相同动作,不可能恰选一个。崩溃模型中,暂时同时存在两个候选不必违反 eventual leader 规格,但若两者都能对外执行主权操作,就必须由任期、quorum 或 fencing token 阻止旧主产生有效写入。

推论与应用

消息传递系统中的选主依赖可区分的允许执行与进程身份。Ω只承诺某个未知时刻后,所有正确进程永久输出同一个正确标识;稳定前不同 oracle 输出并不直接违反其规格。选主任务则要由算法把输出解释为最终领导者,并规定合法身份与任务完成条件。

Raft把任期选举与日志新旧限制结合,主副本复制还需 quorum 或 fencing 阻止旧主继续产生有效写入。共同 leader 是协调工具,不会单独提供共识安全或日志提交证据。

参考资料
  • 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。
关系图谱12 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系