![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Seata
文章平均质量分 92
Seata源码分析
指尖凉
生活明朗,万物可爱,人间值得,未来可期。
展开
-
Seata AT模式源码解析三(AT模式工作机制)
从一个微服务示例开始,案例采用Seata官方提供的Demo。用户购买商品的业务逻辑。整个业务逻辑由3个微服务提供支持:● 仓储服务:对给定的商品扣除仓储数量。● 订单服务:根据采购需求创建订单。● 帐户服务:从用户帐户中扣除余额。架构图订单服务账户服务仓储服务主业务逻辑这里主要的就是在主业务方法上添加上全局事务注解@GlobalTransactional,代表从这里开始开启全局事务,该方法里的调用不管是本地调用还是远程调用,都在全局事务管辖范围内。执行的流程如下:上一篇说到,当调用被原创 2023-05-26 15:03:34 · 654 阅读 · 1 评论 -
Seata AT模式源码解析二(Seata Client端启动流程)
由于我们一般都是在springboot中使用的,而与springboot集成的我们一般就先看starter的spring.factories文件,看看它的自动装配这里面主要关注SeataAutoConfiguration和SeataDataSourceAutoConfiguration。该配置类要生效的条件是seata.enabled值为true,该值默认就是为true,所以该配置类默认是生效的。原创 2023-05-26 15:02:41 · 888 阅读 · 0 评论 -
Seata AT模式源码解析一(Seata Server端启动流程)
在DefaultCoordinator里还创建了一个DefaultCore,该类是默认的 TC 事务操作实现,DefaultCoordinator的开启、提交、回滚全局事务,注册、提交、回滚分支事务都是委托给这个类。主要就是创建了5个定时任务,主要用于事务的重试机制,因为分布式环境的不稳定性会造成事务处于中间状态,所以要通过不断的重试机制来实现事务的最终一致性。在阅读源码的时候,有些源码是要细看的,但是有些源码可以大致猜测一下它的作用,就直接略过去了,抓住真正的重点去看。原创 2023-05-26 14:55:18 · 1337 阅读 · 0 评论