形式陈述
共识通常要求:一致性,所有正确进程决定相同值;有效性,决定值来自允许的提议;终止性,每个正确进程最终作出决定。具体定义还必须固定同步模型、故障类型和参与者集合。
直觉
每个进程只看到局部消息历史,却要作出不可撤销且全局一致的决定;困难来自无法区分“节点失败”和“消息只是很慢”。
例子与边界
选举领导者、提交日志位置和决定事务结果都可归约为共识。共识不是简单多数投票:成员变化、重复消息、崩溃和网络分区都需要协议处理。
推论与应用
Paxos、Raft 和状态机复制以共识为核心;可实现性取决于同步性、故障上界和随机化等假设。
参考资料
- Nancy A. Lynch, Distributed Algorithms, Chapter 6.
- Leslie Lamport, “The Part-Time Parliament,” 1998.