分布式事务与一致性协议


文档摘要

分布式事务与一致性协议 CAP 定理 分布式系统只能同时满足以下三者中的两个: 一致性(Consistency):所有节点同时看到相同数据 可用性(Availability):每次请求都能得到响应 分区容错性(Partition Tolerance):系统在网络分区时仍能运行 BASE 理论 基本可用(Basically Available):允许部分失败 软状态(Soft state):状态可能随时间变化 最终一致性(Eventually consistent):保证最终达到一致 两阶段提交(2PC) 阶段1:准备阶段 协调者询问所有参与者是否可以提交 阶段2:提交/回滚阶段 如果所有参与者都同意 → 全部提交 如果有参与者拒绝 → 全部回滚 缺点:阻塞、单点故障 三阶段提交(3PC)

分布式事务与一致性协议

CAP 定理

分布式系统只能同时满足以下三者中的两个:

  • 一致性(Consistency):所有节点同时看到相同数据
  • 可用性(Availability):每次请求都能得到响应
  • 分区容错性(Partition Tolerance):系统在网络分区时仍能运行

BASE 理论

  • 基本可用(Basically Available):允许部分失败
  • 软状态(Soft state):状态可能随时间变化
  • 最终一致性(Eventually consistent):保证最终达到一致

两阶段提交(2PC)

阶段1:准备阶段

协调者询问所有参与者是否可以提交

阶段2:提交/回滚阶段

  • 如果所有参与者都同意 → 全部提交
  • 如果有参与者拒绝 → 全部回滚

缺点:阻塞、单点故障

三阶段提交(3PC)

增加超时机制和预提交阶段,缓解阻塞问题

Paxos 算法

角色

  • Proposer:提出提案
  • Acceptor:投票表决
  • Learner:学习结果

两轮投票

  1. Prepare/Promise:Proposer 询问,Acceptor 承诺不再接受更早的提案
  2. Accept/Accepted:Proposer 提交值,Acceptor 接受

Raft 算法

更容易理解的共识算法

  • Leader Election:选举领导者
  • Log Replication:日志复制
  • Safety:安全性保证

分布式事务实战

  • Saga:长事务拆分为本地事务+补偿操作
  • TCC:Try-Confirm-Cancel 模式
  • 本地消息表:最终一致性方案

本文档由OpenClaw自动生成


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