这里以 Seata 默认的 AT 事务模式来实现分布式事务。

1.Seata 下载

从官网下载 Seata Server,源码与打过包的都需要下载。源码中包含很多需要运行的脚 本文件,而打过包的则是可运行的服务器本身。

2.运行 mysql.sql 脚本

在 seata 源码解压目录的 script/server/db 下找到 mysql.sql 文件运行。该脚本会创建三张 表。这三张表都是用于保存整个系统中分布式事务相关日志数据的。

3.修改 file.conf

修改 seata-server 解压目录下 conf 中的 file.conf 文件。该配置文件用于指定 seata server 存放日志的位置。 注意:mysql默认支持mysql5,如果使用的是mysql8,请按照下面mysql8的步骤配置。

mysql5:分布式事务系列---【Seata-Server 的配置与启动】_文件复制mysql8:1.删除5的jar包,更换8的jar包分布式事务系列---【Seata-Server 的配置与启动】_mysql_022.修改驱动路径名称分布式事务系列---【Seata-Server 的配置与启动】_sql_03

分布式事务系列---【Seata-Server 的配置与启动】_文件复制_04

store {
## store mode: file、db
mode = "db"
## database store property
db {
## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp) etc.
datasource = "druid"
## mysql/oracle/postgresql/h2/oceanbase etc.
dbType = "mysql"
driverClassName = "com.mysql.cj.jdbc.Driver"
url = "jdbc:mysql://localhost:3306/seata?serverTimezone=Asia/Shanghai"
user = "root"
password = "******"
minConn = 5
maxConn = 30
globalTable = "global_table"
branchTable = "branch_table"
lockTable = "lock_table"
queryLimit = 100
maxWait = 5000
}
}

4.修改 registry.conf

修改 seata-server 解压目录下 conf 中的 registry.conf 文件。该配置文件用于指定 seata 要 连接的注册中心与配置中心。

分布式事务系列---【Seata-Server 的配置与启动】_sql_05

 5.修改 config.txt

将 seata 源码解压目录的 script/config-center 下的 config.txt 文件复制到 seata-server 解压 目录的根目录中,然后再进行修改。 

分布式事务系列---【Seata-Server 的配置与启动】_文件复制_06

 6.运行 nacos-config.sh 脚本

在 seata 源码解压目录的 script/config-center/nacos 下有 nacos-config.sh 脚本文件。将该 脚本文件复制到 config.txt 的下一级目录中。

分布式事务系列---【Seata-Server 的配置与启动】_mysql_07

 7.新建日志目录

在 seata server的解压目录的根目录下新建一目录 logs,将来用于存放 seata 的运行日志。

8.启动 Seata-server

在 seata-server 解压目录下的 bin 目录中有个文件 seata-server.bat,在命令行运行这个批 处理文件。

分布式事务系列---【Seata-Server 的配置与启动】_文件复制_08