原理 - 图1

1 XA原理

https://baijiahao.baidu.com/s?id=1698550212539924249&wfr=spider&for=pc
XA 协议是由 X/Open 组织提出的分布式事务处理规范,主要定义了事务管理器 TM 和局部资源管理器 RM 之间的接口。目前主流的数据库,比如 oracle、DB2 都是支持 XA 协议的。
三阶段的第一阶段:开启 xa 事务,这里 xid 为全局事务 id:
XA {START|BEGIN} xid [JOIN|RESUME]
结束 xa 事务:
XA END xid [SUSPEND [FOR MIGRATE]]
三阶段的第二阶段,即 prepare:
XA PREPARE xid
三阶段的第三阶段,即 commit/rollback:
XA COMMIT xid [ONE PHASE]XA ROLLBACK xid
查看处于 PREPARE 阶段的所有事务:
XA RECOVER XA RECOVER [CONVERT XID]

2 TCC原理

https://blog.csdn.net/weixin_46217160/article/details/121220044
核心思想 是:针对每个操作,都要注册一个与其对应的确认和补偿(撤销)操作。分为三个阶段:

  • Try 阶段:主要是对业务系统做检测(一致性)及资源预留(准隔离性)
  • Confirm 阶段:主要是对业务系统做确认提交,Try阶段执行成功并开始执行 Confirm阶段时,默认Confirm阶段是不会出错的。即:只要Try成功,Confirm一定成功。(Confirm 操作满足幂等性。要求具备幂等设计,Confirm 失败后需要进行重试。
    )
  • Cancel 阶段主要是在业务执行错误,需要回滚的状态下执行的业务取消,预留资源释放。(Cancel 操作满足幂等性)

    3 可靠消息最终一致性原理

    https://blog.csdn.net/qq_42163058/article/details/123133369

4 最大努力通知型原理

https://blog.csdn.net/anbang713/article/details/108269536