文章插图

文章插图

文章插图

文章插图

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

文章插图
5. 分支上报
RM向TC报告分支事务状态

文章插图

文章插图
只是更新一下分支状态及相关数据
6. 查询全局事务状态

文章插图
7. 查询全局锁

文章插图

文章插图

文章插图
挑RedisLocker看一下吧

文章插图
关于Seata Server 的源码学习就先到这里,欢迎交流,多谢点赞 (^_^)
推荐阅读
- 观察者 CH58X/CH57X/V208 Observer例程讨论讲解
- Seata 1.5.2 源码学习
- Sql Server性能排查和优化懒人攻略
- 分布式事务框架 Seata 入门案例
- Azure DevOps Server 入门实践与安装部署
- 【Serverless】快速集成云函数HarmonyOS
- Eureka Server 实现在线扩容
- Seata 环境搭建
- 【Serverless】云函数微信小程序
- SpringCloud整合分布式事务Seata 1.4.1 支持微服务全局异常拦截