Seata Server 1.5.2 源码学习( 三 )


文章插图

Seata Server 1.5.2 源码学习

文章插图

Seata Server 1.5.2 源码学习

文章插图

Seata Server 1.5.2 源码学习

文章插图

Seata Server 1.5.2 源码学习

文章插图
回滚,首先检查全局事务状态是否为Begin,不是的话直接结束 。遍历当前全局事务中已注册的分支事务,依次给每个分支发请求,告诉分支事务需要回滚 。如果所有分支返回回滚成功,则全局回滚成功 。如果有分支回滚失败且不重试,则直接直接结束 。如果失败且可重试,或者执行过程中抛异常,则稍后会有定时任务重试回滚操作 。
Seata Server 1.5.2 源码学习

文章插图
5. 分支上报
RM向TC报告分支事务状态
Seata Server 1.5.2 源码学习

文章插图

Seata Server 1.5.2 源码学习

文章插图
只是更新一下分支状态及相关数据
6. 查询全局事务状态
Seata Server 1.5.2 源码学习

文章插图
7. 查询全局锁
Seata Server 1.5.2 源码学习

文章插图

Seata Server 1.5.2 源码学习

文章插图

Seata Server 1.5.2 源码学习

文章插图
挑RedisLocker看一下吧
Seata Server 1.5.2 源码学习

文章插图
关于Seata Server 的源码学习就先到这里,欢迎交流,多谢点赞 (^_^)

推荐阅读