3.1分布式事务基本概念
微服务多个模块(例如三个模块)被拆分成三个独立的应用,分别对应三个不同的独立数据源,每个服务内部的数据一致性由本地事务来保证。但是全局的数据一致性问题没法保证。
一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题。——保障全局数据的一致性问题!——Senta!
3.2 Senta的基本概念
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。
3.2 一个典型的Senta过程
一个典型的分布式事务过程:分布式事务处理过程的 一个ID+三组件模型。

★处理过程:
step1:TM向TC申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的XID;
step2:XID在微服务调用链路的上下文中传播;
step3:RM向TC注册分支事务,将其纳入XID对应全局事务的管辖;
step4:TM向TC发起针对XID的全局提交或回滚决议;
step5:TC调度XID下管辖的全部分支事务完成提交或回滚请求。
3.3 Senta的下载与安装配置
1、下载安装senta,解压
seata所有配置1.4.2源文件: https://gitee.com/xyy-kk_admin/springcloud-config/tree/master/seata-conf
2、配置senta的数据源为db(mysql)(1.4.2版本需要手动添加)
3、在mysql数据库中创建相应的数据库senta,并创建相应的数据库表branch_table、global_table、lock_table
SQL获取地址: https://gitee.com/xyy-kk_admin/springcloud-config/tree/master/seata-sql自行导入…
4、修改registry.conf文件 ,整合nacos,配置nacos的地址
3.3 Senta实现订单—库存——账户分布式微服务事务处理
3.3.1 订单—库存——账户数据库准备

3.3.1 订单—库存——账户微服务业务逻辑
step1:实现订单module的微服务创建
step2:实现库存module的微服务创建
step3:实现账户module的微服务创建

