背景介绍
官网地址: http://seata.io/zh-cn/
原理
项目集成
2.集成seata来处理分布式的步骤:
2.1.下载seata_server,也就是上面说的事务协调器TC,并进行部署。
(下载地址:https://github.com/seata/seata/releases)
(****在每个服务的数据库中建一个undo表(表名称在配置中心指定)*****)
2.2.工程中集成(引用组件的三部曲,依赖-配置-注解)
(***注意在调用链中的每个微服务都要做集成***)
2.2.1.引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-seata</artifactId>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
</dependency>
2.2.2.添加配置
registry.conf 对"注册中心"和"配置中心"设置
注册中心:nacos
配置中心:file--》file.conf
file.conf 默认的配置中心(文件)
会在里面指定seata服务的地址
2.2.3.方法上添加注解
主服务,与各个子服务工程的"数据源都要交给seata代理","主服务"使用全局事务注解@GlobalTransactional,"子服务"还是使用本地事务@Transactional。
案例下载地址:https://github.com/seata/seata-samples
seata-server部署和配置
下载地址:https://github.com/seata/seata/releases 选择最新版本,然后拉到底部点击下载。
启动服务
工程中的配置
至此,就将seata集成到了项目中。
代码演示
第一步
第二步
第三步
第四步