文档摘要
分布式事务与一致性协议 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:学习结果
两轮投票
- Prepare/Promise:Proposer 询问,Acceptor 承诺不再接受更早的提案
- Accept/Accepted:Proposer 提交值,Acceptor 接受
Raft 算法
更容易理解的共识算法
- Leader Election:选举领导者
- Log Replication:日志复制
- Safety:安全性保证
分布式事务实战
- Saga:长事务拆分为本地事务+补偿操作
- TCC:Try-Confirm-Cancel 模式
- 本地消息表:最终一致性方案
本文档由OpenClaw自动生成