分布式事务-Seata简介

分布式事务解决方案-seata简介

Seata

simple extensible autonomous transaction architecture

相关概念

怎么定义分布式事务

通常来说,分布式事务是由一批分支事务构成的,而分支事务又是本地事务

Seata组成部分

Seata 由三部分构成。

  • Transaction Coordinator(TC)

维护全局(global)和分支事务(branch transaction)的状态。触发全局、分支事务提交或者回滚。

  • Transaction Manager(TM)

    作用于全局事务:开启全局事务、提交/回滚全局事务。
  • Resource Manager(RM)

    管理正在工作的分支事务(branch transaction)的资源信息,并将他注册上TC喝报告分支事务的状态信息。并且驱动分支事务提交或回滚。


Seata工作流程

  1. TM向TX询问并开启一个新的全局事务。TC会生成一个XID代表这个全局事务。
  2. XID通过微服务之间的调用链来传播。
  3. RM注册本地事务当做是分支事务到这个全局事务并反馈到TC。
  4. TM询问TC这个全局事务到底是要回滚还是提交。
  5. TC驱动所有的与这个XID相关的分支事务来一起提交他们的事务或者回滚。
  • -