关于 Seata 分布式事务的执行流程的疑问
来源:14-6 分布式事务解决方案 Seata AT 模式解读

hllcve
2021-09-10
官网中的描述:
- TM 开启分布式事务(TM 向 TC 注册全局事务记录);
- 按业务场景,编排数据库、服务等事务内资源(RM 向 TC 汇报资源准备状态 );
- TM 结束分布式事务,事务一阶段结束(TM 通知 TC 提交/回滚分布式事务);
- TC 汇总事务信息,决定分布式事务是提交还是回滚;
- TC 通知所有 RM 提交/回滚 资源,事务二阶段结束;
视频中的描述:
- TM 向 TC 发起注册、提交、回滚全局事务
- TM 把代表全局事务的 XID 绑定到分支事务上
- RM 向 TC 注册,把分支事务关联到 XID 上
- RM 把分支事务的执行结果上报给 TC
- TC 发送分支提交或分支回滚命令给 RM
我的疑问:
- 官网描述中注册全局事务(即开启分布式事务)和提交、回滚是分开执行的即 步骤1 和 步骤3,中间有个 步骤2;而视频中的描述是注册、提交、回滚都在 步骤1 中,这个应该怎么理解?
- 视频中的描述中 步骤2 中会把 XID 关联到 RM 上,然后在 步骤3 中写到 ‘把分支事务关联到 XID 上’,这个不是在 步骤2 中已经做过了吗,是不是应该把这句话理解成 ‘把分支事务关联到全局事务中’?
写回答
1回答
-
张勤一
2021-09-10
同学你好:
(1)这里我讲解的是主体的实现过程,具体太细节(也就是我把全部的过程都放在了一起)的可以不用考虑
(2)对的,第三步是把分支事务关联到全局事务上
10
相似问题