SeataAT模式基本流程图

1.TM发起全局事务,向TC注册

2.TC生成全局事务ID,返回给TM

3.TM执行本地事务(SQL操作),RM生成undo_log

4.TM向TC报告本地事务状态(成功或失败)

5.TC收集所有分支事务状态,决定提交或回滚

6.如果提交,TC通知所有RM提交本地事务,清理undo_log

7.如果回滚,TC通知所有RM执行回滚,使用undo_log恢复数据,清理日志

8.结束全局任务

需要确保流程图中的每个步骤都清晰,并且包含必要的判断节点,比如是否所有分支事务都成功。此外,可能需要考虑异常情况下的处理,比如网络问题导致TC无法收到某个分支的报告,这时候可能需要超时机制或重试。

另外,流程图中的角色(TM、RM、TC)需要明确标出,以便用户理解各组件的交互。可能还需要在流程图中加入异常处理分支,比如某个分支事务失败时,直接触发全局回滚。

最后,需要用Mermaid语法绘制流程图,确保结构清晰,逻辑正确。可能需要检查是否有遗漏的步骤,比如undo_log的生成和清理是否在正确的阶段执行,以及补偿操作的细节是否准确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值