什么是分布式事务?

分布式事务是指跨越多个独立数据库或服务的事务,其核心目标是确保多个操作要么全部成功,要么全部失败。常见场景包括:

  • 跨服务的数据一致性(如订单系统与库存系统)
  • 分布式数据库的协同操作
  • 微服务架构中的数据同步

其核心挑战是网络分区数据一致性,常需通过补偿机制共识算法解决。

核心技术方案

  1. 两阶段提交(2PC)
    🔄 通过协调者(Coordinator)分准备阶段和提交阶段,但存在性能瓶颈

    分布式事务_原理

  2. 三阶段提交(3PC)
    🔄 优化2PC的超时处理,通过引入“预提交”阶段降低阻塞风险

    三阶段提交_流程

  3. TCC(Try-Confirm-Cancel)
    🔄 业务层面的补偿事务,通过预留资源、确认操作、取消失败操作实现

    TCC_模式

  4. Saga模式
    🔄 分布式事务拆分为多个本地事务,通过顺序执行和逆向补偿处理

    Saga_流程

  5. CAP理论
    ⚖️ 一致性(Consistency)、可用性(Availability)、分区容忍(Partition Tolerance)的权衡

    CAP理论_三角

应用场景

  • 电商秒杀系统:扣减库存与创建订单的原子性操作
  • 金融转账:跨银行账户的资金转移
  • 物流系统:订单、库存、配送的多系统协同

延伸阅读

想深入了解不同分布式事务框架的对比?可参考:分布式事务框架对比