第一步
下载seata、nacos服务:
首先访问:https://seata.io/zh-cn/blog/download.html
下载我们需要使用的seata1.2服务
访问: https://github.com/alibaba/nacos/releases
下载我们需要使用的 nacos1.3.1服务
访问seata官网:https://github.com/seata/seata/tree/1.2.0
下载开源项目包,注意选取版本,会有冲突。
第二步
创建Seata高可用的db,nacos配置存储库,以及AT模式所需的undo_log表:
-
在你的参与全局事务的数据库中加入undo_log这张表
根据自己实际使用数据库选择:支持mysql,pgsql,oracle:
seata-1.2.0\script\client\at\db 目录下
-
在你的mysql数据库中创建名为seata的库,并使用以下下sql
同样支持:mysql,pgsql,oracle根据自己需求导入数据库
seata-1.2.0\script\server\db 目录下
3.在你的mysql数据库中创建名为nacos的库,并使用以下sql
nacos-mysql.sql文件
nacos-server-1.3.1\nacos\conf 目录下
第三步
加入seata、nacos依赖:
在你的项目中引入seata依赖
如果你的微服务是dubbo:
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>1.4.0</version>
</dependency>
如果你是springcloud:(2.2.0+版本囊括了spring boot)
<!--seata-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-seata</artifactId>
<version>2.2.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
加入nacos依赖:
<!-- nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
第四步
加入seata,nacos所需的参数配置:
加到你项目的application.yml中.
spring:
application:
name: serverName
cloud:
nacos:
discovery:
server-addr: localhost:8848
seata:
enabled: true
application-id: applicationName
tx-service-group: my_test_tx_group
enable-auto-data-source-proxy: true
config:
type: nacos
nacos:
namespace:
serverAddr: 127.0.0.1:8848
group: SEATA_GROUP
userName: "nacos"
password: "nacos"
registry:
type: nacos
nacos:
application: seata-server
server-addr: 127.0.0.1:8848
namespace:
userName: "nacos"
password: "nacos"
第五步
运行nacos; 配置nacos-server-1.3.1\nacos\conf\application.properties文件
启动nacos; 文件目录:nacos-server-1.3.1\nacos\bin\startup.cmd
通过ip网址即可通过web界面进行管理:
第六步
配置为高可用db模式参数并提交至配置中心:
1. 修改seata-1.2.0\script\config-center\config.txt文件;
修改配置:
2.点击nacos进入文件提交配置:
启动nacos-config.sh文件
- 提交后,nacos界面可看到并且在线编辑配置文件:
第七步
更改服务端的注册&配置中心为nacos:
更改seata-server-1.2.0\seata\conf中的registry.conf
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "nacos"
nacos {
application = "seata-server"
serverAddr = "127.0.0.1:8848"
group = “SEATA_GROUP”
namespace = ""
cluster = "default"
username = "nacos"
password = "nacos"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos"
nacos {
serverAddr = "127.0.0.1:8848"
namespace = ""
group = "SEATA_GROUP"
username = "nacos"
password = "nacos"
}
}
启动seata:
seata启动成功:
第八步
项目启动后:
注册到seata成功后日志:
业务发起者:
业务被调用方:
nacos web服务页面:
均显示成功后即可正常使用: