一、分布式事务
1、本地事务(Spring声明式事务解决 - AOP)
2、分布式事务
1)、概念:一个业务横跨多个微服务或者多个数据源,每个微服务都有自己的分支事务,要保证所有事务一起成功或失败
2)、分布式事务解决思路:需要一个协调者
3)、seata
1、角色:TM(导包)、TC(需要搭建)、RM(导包)
4)、微服务整合seata:导包 、 加配置(告诉RM,TC在哪里)
5)、两种模式(XA\AT\TCC\SAGA)
1、XA模式:(强一致性)效率较低
第一阶段:注册、执行sql(不提交)、报告执行状态
第二阶段:检测分支状态,都成功全部提交,有失败则全部失败;RM接收TC指令,提交或回滚事务。
实现步骤:
①配置文件开启XA模式;
seata:
data-source-proxy-mode: XA
②给全局事务入口添加@GlobalTransactional注解;
③重启服务并测试。
2、AT模式:(最终一致性/弱一致性)
第一阶段:注册分支事务,记录undo-log(数据快照),执行sql并提交,报告事务状态
第二阶段:删除快照或读取快照恢复数据
分布式事务
最新推荐文章于 2025-07-22 15:16:10 发布