![](https://img-blog.csdnimg.cn/7bed678ff2634332abb35c8f7609ce00.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Seata
文章平均质量分 57
Seata
BasicLab基础架构实验室
本人深耕基础架构领域,曾在国内500强大厂研发企业级百亿量级吞吐中间件,擅长Java语言、Go语言、Python语言、C语言、NodeJS、Web、Linux、深度学习、大数据、云原生等
展开
-
Seata 1.5.2 源码学习
答:当业务方法上不加@GlobalTransactional,而是只加了@GlobalLock注解的情况下,就会出现上述情况,也就会执行 ConnectionProxy#processLocalCommitWithGlobalLocks()方法,在事务提交前检查全局锁,这样设计的目的是在AT模式下,不出现脏读、脏写。11、处理全局事务就是直接调用事务模板中的execute方法,TransactionalTemplate#execute()是一个模板方法,其中定义了事务处理的流程。原创 2023-03-17 14:25:30 · 293 阅读 · 0 评论 -
Seata解析-TM、RM、TC交互流程梳理
4、接下来服务B开始执行SQL语句,在执行前将表中对应的数据保存一份,执行后在保存一份,将这两份记录作为回滚记录写入到数据库中,如果执行过程中没有异常,服务B最后将事务提交,并通知TC分支事务成功,服务B也会清除本地事务数据;8、TC记录了全局事务下的每个分支事务,TC收到全局事务的结果后,如果结果成功,则通知RM成功,RM收到通知后清理之前在数据库中保存的回滚记录,如果失败了,则RM要查询出之前在数据库保存的回滚记录,对之前的SQL操作进行回滚。2、服务A中调用服务B时,将XID传递给服务B;原创 2023-03-17 13:36:09 · 2045 阅读 · 0 评论 -
Seata server如何自己修改源码后打包
/mvnw clean install -DskipTests=true(Mac,Linux) 或 mvnw.cmd clean install -DskipTests=true(Win) -P release-seata。seata-1.5之后(最新develop分支)的打包命令:mvn -Prelease-seata -Dmaven.test.skip=true clean install -U。在 distribution 模块的 target 目录下解压相应的压缩包即可。原创 2023-02-23 10:09:17 · 681 阅读 · 1 评论