一加三模式
全局唯一的事务ID+3个组件
TransactionID XID
全局唯一的事务ID
TC
transaction coordinator
事务协调器
维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。
TM
transaction manager
事务管理器
控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。
RM
resource manager
资源管理器
控制分支事务,负责分支注册、状态汇报,并接受事务协调器的指令,驱动分支(本地)事务提交或回滚。
流程
- TM向TC申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的XID;
- XID在未付调用链路的上下文中传播;
- RM向TC注册分支事务,将其纳入XID对应全局事务的管辖;
- TM向TC发起针对XID的全局提交或回滚决议;
- TC调度XID下挂下的全部分支事务完成提交或回滚请求。