目录
前提
- 搭建两个spring cloud alibaba 项目
- 并且这两个项目可以通过Feign进行远程调用
- 两个项目都可以进行数据库操作
依赖&版本
Spring Boot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Spring Cloud
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Seata 依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>
Seata Server
版本:1.4.0
安装部署Seata-sever
下载
seata官网:https://github.com/seata/seata/releases
修改配置
conf/registry.conf
新建config.txt
进入官网拷贝https://github.com/seata/seata/blob/1.4.2/script/config-center/config.txt
将里面内容复制进去,保存。修改下面内容
导入配置
进入到官网:https://github.com/seata/seata/blob/1.4.2/script/config-center/nacos/nacos-config.sh
将里面内容复制进去,保存。
新建nacos-config.sh文件
用自己的namespace
sh nacos-config.sh -h 127.0.0.1 -p 8848 -g SEATA_GROUP -t b2191c96-d417-4f4a-a6d6-19e05aadd87d -u nacos -w nacos
启动
双击seata-server.bat
客户端修改
导入依赖
<!-- seata -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>
配置
seata:
application-id: ${spring.application.name} # 服务id
tx-service-group: my_tx_group # 事务的分组名,暂时先不管,后面会讲到
service:
vgroup-mapping:
grampus_tx_group: default # 使用default就好
registry:
type: nacos # 注册中心类型,需与registry.conf配置文件中一致
nacos:
application: seata-server # 服务名,需与registry.conf配置文件中一致
server-addr: 127.0.0.1:8848 # 注册中心的地址,需与registry.conf配置文件中一致
group: SEATA_GROUP # 服务的分组名,需与registry.conf配置文件中一致
namespace: b2191c96-d417-4f4a-a6d6-19e05aadd87d # nacos的命名空间ID,需与registry.conf配置文件中一致
config:
type: ${seata.registry.type}
nacos:
serverAddr: ${seata.registry.nacos.server-addr}
group: ${seata.registry.nacos.group}
namespace: ${seata.registry.nacos.namespace}