分布式一致性协议:从Paxos到Raft

分布式一致性协议:从Paxos到Raft

几个人开会决定一件事:

  • 简单多数:3人中2人同意就行
  • 全体一致:必须4人全部同意
  • 独裁制:1人说了算

分布式一致性协议就是让分布在多台机器上的数据"达成共识"的规则。

为什么需要一致性协议?

问题:分布式系统中,多个节点需要就某个值达成一致

场景

  • 选主节点:哪个节点当老大?
  • 复制状态机:所有节点执行相同的命令序列
  • 配置更新:所有节点使用相同的配置

挑战

  • 节点可能故障
  • 网络可能延迟/分区
  • 消息可能丢失/重复

一致性协议基础

1. 一致性级别

级别说明例子
强一致所有节点同时看到相同数据2PC