Spring Cloud Seata源码分析
2022-02-21 20:42:47 0 举报
Spring Cloud Seata源码分析图解,超级清晰和详细
作者其他创作
大纲/内容
Table:undo_log
把分支事务请求放入异步队列
提交本地事务
before: {name: GP}
3.4 事务提交成功后上报事务执行状态
Commit
MicroService02
查找UNDO_LOG记录
6. 提交本地事务
2.2 注册分支事务
7. 向TC回报本地事务结果
after: {name: Mic}
3. 查询更新之后的数据
返回成功
向TC反馈执行结果
2. 执行业务更新操作
SeataServerTC
TM
1. 解析SQL,查询更新之前的数据内容
查找
DataBase
1. 申请全局事务
3.1 本地事务提交
RM(DB)
Table: User
提交
回滚
MicroService01
Seata-Client
同一个事务
2.1 注册分支事务
删除当前分支事务对应的UNDO_LOG
数据校对(undo_log的快照数据和User表中的数据比较,判断是否被其他事务修改过)
4.2 全局事务提交/回滚
3.2 事务提交成功后上报事务执行状态
name: GP
4.1 全局事务提交/回滚
name: Mic
4. 保存更新前后的数据到undo_log
Seata ServerTC
RPC通信
回滚业务数据
3.3 本地事务提交
4.3 全局事务提交/回滚
收藏
收藏
0 条评论
下一页