Seata由四部分组成:
XID:全局唯一 的事务ID
TC:事务协调器,维护全局事务的运行状态,负责协调 并驱动全局事务 的提交或回滚;
TM:控制全局事务的边界,负责开启一个全局事务,并 最终发起全局提交或全局回滚的决议;
RM:控制分支事务,负责分支注册,状态汇报,并 接收事务协调器的指令,驱动分支(本地)事务的提交和回滚;
具体处理流程
1.TM向TC申请一个全局事务,全局事务创建成功并生产一个全局唯一的XID;
2.XID在微服务调用链路的上下文中传播 ;
3.RM向TC注册分支事务,将其纳入XID对应全局事务的管辖;
4.TM向TC发起针对XID的全局提交或回滚决议;
5.TC调度XID下管辖的全部分支事务完成提交或回滚请求;