什么是分布式事务?
分布式事务是指跨越多个独立数据库或服务的事务,其核心目标是确保多个操作要么全部成功,要么全部失败。常见场景包括:
- 跨服务的数据一致性(如订单系统与库存系统)
- 分布式数据库的协同操作
- 微服务架构中的数据同步
其核心挑战是网络分区和数据一致性,常需通过补偿机制或共识算法解决。
核心技术方案
两阶段提交(2PC)
🔄 通过协调者(Coordinator)分准备阶段和提交阶段,但存在性能瓶颈分布式事务_原理三阶段提交(3PC)
🔄 优化2PC的超时处理,通过引入“预提交”阶段降低阻塞风险三阶段提交_流程TCC(Try-Confirm-Cancel)
🔄 业务层面的补偿事务,通过预留资源、确认操作、取消失败操作实现TCC_模式Saga模式
🔄 分布式事务拆分为多个本地事务,通过顺序执行和逆向补偿处理Saga_流程CAP理论
⚖️ 一致性(Consistency)、可用性(Availability)、分区容忍(Partition Tolerance)的权衡CAP理论_三角
应用场景
- 电商秒杀系统:扣减库存与创建订单的原子性操作
- 金融转账:跨银行账户的资金转移
- 物流系统:订单、库存、配送的多系统协同
延伸阅读
想深入了解不同分布式事务框架的对比?可参考:分布式事务框架对比