分布式系统一致性理论


文档摘要

分布式系统一致性理论 CAP定理 一致性:所有节点同时看到相同数据 可用性:每个请求都能响应 分区容错:网络分区时系统继续运行 三者只能满足其二,通常选择AP或CP。 BASE理论 BA:基本可用 S:软状态 E:最终一致性 是CAP的折中方案,适合高可用场景。 一致性模型 强一致性 线性一致性:操作按全局顺序 顺序一致性:单机进程顺序 因果一致性:因果操作有序 实现:Raft、Zab、Paxos协议 弱一致性 最终一致性:保证达到一致 读己之写:用户能读到自己的写 会话一致性:会话内单调读写 实现:Gossip协议、向量时钟 分布式共识算法 Raft Leader选举:超时触发选举 日志复制:Leader同步日志到Follower 安全性:选举限制、日志匹配 Paxos

分布式系统一致性理论

CAP定理

  • 一致性:所有节点同时看到相同数据
  • 可用性:每个请求都能响应
  • 分区容错:网络分区时系统继续运行

三者只能满足其二,通常选择AP或CP。

BASE理论

  • BA:基本可用
  • S:软状态
  • E:最终一致性

是CAP的折中方案,适合高可用场景。

一致性模型

强一致性

  • 线性一致性:操作按全局顺序
  • 顺序一致性:单机进程顺序
  • 因果一致性:因果操作有序

实现:Raft、Zab、Paxos协议

弱一致性

  • 最终一致性:保证达到一致
  • 读己之写:用户能读到自己的写
  • 会话一致性:会话内单调读写

实现:Gossip协议、向量时钟

分布式共识算法

Raft

  • Leader选举:超时触发选举
  • 日志复制:Leader同步日志到Follower
  • 安全性:选举限制、日志匹配

Paxos

  • Prepare/Promise:提案编号
  • Accept/Accepted:多数派接受
  • 难理解,工程实现少

ZAB

ZooKeeper专用,类似Raft但支持广播。

分布式事务

2PC

协调者-参与者两阶段提交,阻塞且单点故障。

3PC

增加CanCommit阶段,降低阻塞概率但仍不完美。

Saga

长事务拆分短事务,补偿操作回滚。

本地消息表

业务DB存消息,定时任务扫描发送。

时钟同步

  • NTP:网络时间协议,毫秒级偏差
  • 逻辑时钟:Lamport Timestamp
  • 向量时钟:捕捉事件因果关系

实践建议

  1. CP系统:Raft选主,强一致性
  2. AP系统:Gossip传播,最终一致
  3. 幂等设计:重复请求不影响结果
  4. 优先异步:解耦提升可用性

发布者: 作者: 转发
评论区 (0)
U