开发者社区 > 云原生 > 中间件 > 正文

Seata中每个阶段的整体交互图有吗?想知道tc和tm到底做了什么?

Seata中每个阶段的整体交互图有吗?想知道tc和tm到底做了什么?c28b3b953d5c3881f2783c66a05f4067.jpg

展开
收起
小小鹿鹿鹿 2024-01-09 23:33:58 40 0
1 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Seata 是一个分布式事务解决方案,它提供了 AT、TCC、SAGA 和 XA 四种模式。每个模式下的整体交互图如下:

    1. AT(Atomic)模式:

      • Prepare阶段:TM向TC发送prepare请求,TC返回全局事务ID。
      • Commit阶段:TM向TC发送commit请求,TC根据TM的请求进行提交操作。
      • Rollback阶段:TM向TC发送rollback请求,TC根据TM的请求进行回滚操作。
    2. TCC(Try-Confirm-Cancel)模式:

      • Try阶段:TM向TC发送try请求,TC执行业务逻辑并返回结果。
      • Confirm阶段:TM根据TC的返回结果向TC发送confirm请求,TC执行确认操作。
      • Cancel阶段:TM根据TC的返回结果向TC发送cancel请求,TC执行取消操作。
    3. SAGA(Saga)模式:

      • Saga阶段:TM向TC发送saga请求,TC执行业务逻辑并返回结果。
      • Compensate阶段:TM根据TC的返回结果向TC发送compensate请求,TC执行补偿操作。
    4. XA(eXtensible Architecture)模式:

      • Begin阶段:TM向TC发送begin请求,TC开始一个新的全局事务。
      • End阶段:TM向TC发送end请求,TC结束全局事务。
      • Preparing阶段:TM向TC发送prepare请求,TC准备全局事务。
      • Committing阶段:TM向TC发送commit请求,TC提交全局事务。
      • Rolling back阶段:TM向TC发送rollback请求,TC回滚全局事务。

    在每个阶段中,TM负责与TC进行通信,TC负责处理业务逻辑和事务状态。

    2024-01-13 18:18:13
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
《Seata 1.3 新特性以及如何参与社区》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载