分布式一致性协议:从Paxos到Raft
分布式一致性协议:从Paxos到Raft
几个人开会决定一件事:
- 简单多数:3人中2人同意就行
- 全体一致:必须4人全部同意
- 独裁制:1人说了算
分布式一致性协议就是让分布在多台机器上的数据"达成共识"的规则。
为什么需要一致性协议?
问题:分布式系统中,多个节点需要就某个值达成一致
场景:
- 选主节点:哪个节点当老大?
- 复制状态机:所有节点执行相同的命令序列
- 配置更新:所有节点使用相同的配置
挑战:
- 节点可能故障
- 网络可能延迟/分区
- 消息可能丢失/重复
一致性协议基础
1. 一致性级别
| 级别 | 说明 | 例子 |
|---|---|---|
| 强一致 | 所有节点同时看到相同数据 | 2PC |