曹耘豪的博客

分布式事务

  1. 1. 2PC方案(两阶段提交)/XA方案
  2. 2. TCC方案(Try、Confirm、Cancel)
  3. 3. 本地消息表
  4. 4. 事务消息
  5. 5. 最大努力通知
  • 参考
  • 1. 2PC方案(两阶段提交)/XA方案

    基于事务管理器,负责协调多个数据库,适合单体应用

    缺点:

    2. TCC方案(Try、Confirm、Cancel)

    解释:

    优点:

    缺点:

    3. 本地消息表

    A执行本地事务,成功后将事务存到本地消息表,通知B,B的本地事务成功则B通知A事务完成,否则,A系统一直根据消息表通知B系统

    缺点:

    4. 事务消息

    A先发送prepare消息,然后开始本地事务,MQ轮询本地事务事情结果,如果成功,发送commit消息,如果失败,则不发送prepare消息。B收到commit消息开始本地事务,B失败了只能重试。A发送prepare后,MQ轮询A本地事务是否成功,B这个使用比较广泛。

    5. 最大努力通知

    A事务完成,通知B,如果B响应失败,则A按照通知策略重复通知,要求B能处理重复的通知

    参考

       /