前言
Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。
本文档内容为TC的搭建与配置。
更多详细介绍请参考官方文档:Seata官方文档
seata-server官方下载地址:https://github.com/seata/seata/releases
由于官方地址网络不稳定,本文档提供window环境seata-server-1.4.0版本下载链接
百度网盘下载地址:
-
提取码:04og
请注意,本文档使用版本为seata-server1.4.0
,不同版本参数配置可能不一致,如以本文档为参考,请最好使用seata-server1.4.0版本。
官方给的一些数据库脚本和配置文件地址:https://github.com/seata/seata/tree/develop/script/server
安装配置
(一)、环境准备
- Windows:7
- JDK: 8
- seata-server:1.4.0
- nacos-server:1.4.0
- Mysql : 5.7
- Git : 2.29.2 windows
本文档只关注seata-server的配置和安装,在开始之前,请确保上述其它环境正常。
(二)、下载配置安装
选择上述下载链接,下载seata-server1.4.0.zip文件;
下载解压后目录如下:
1、导入Seata默认配置到Nacos配置中心
-
在目录下新建nacos-config.sh脚本文件
-
将文件内容复制到该目录下新建的的nacos-config.sh文件中
-
在目conf同级目录下新建config.txt文件
-
将文件内容复制到该目录下新建的config.txt文件中,其中有关数据库连接信息部分修改为自己的数据库信息
config.txt就是seata各种详细的配置,配置详解可参考:seata官方配置详解,执行 nacos-config.sh 即可将这些配置导入到nacos,这样就不需要将file.conf和registry.conf放到我们的项目中了,需要什么配置就直接从nacos中读取。
-
当前目录右键->选择Git Bash Here,打开命令行窗口,执行命令:
sh nacos-config.sh -h 120.77.255.131 -p 8848 -g SEATA_GROUP -t fed273be-0659-402e-8879-dbb9e1721f34-h 配置中心地址,即nacos地址 -p 指定nacos的端口地址; -g 指定配置的分组,注意,是配置的分组; -t 指定命名空间id,在nacos界面可以查看命名空间id
-
最终显示如下,边表示Seata配置导入Nacos成功
-
访问Nacos查看导入的配置
这个seata的命名空间是我自己创建的,各位按需求自行创建即可。
2、启动Seata Server
进入…/seata/conf目录
-
修改file.conf
-
修改registry.conf
registry{}中是注册中心相关配置,config{}中是配置中心相关配置。seata中,注册中心和配置中心是分开实现的,是两个东西。本文档使用Nacos-server作为seata的注册中心和配置中心.。
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "nacos"
loadBalance = "RandomLoadBalance"
loadBalanceVirtualNodes = 10
nacos {
application = "seata-server"
serverAddr = "120.77.255.131:8848"
group = "SEATA_GROUP"
namespace = ""
cluster = "default"
username = ""
password = ""
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos"
nacos {
serverAddr = "120.77.255.131:8848"
namespace = "seata"
group = "SEATA_GROUP"
username = ""
password = ""
}
}
-
导入数据库文件
数据库与file.conf中配置的数据库对应,导入成功,数据库表如下:
-
启动seata-server
进入bin目录,单击seata-server.bat即可
-
启动成功画面如下:
-
访问Nacos Server,在服务列表中查看。由于我并没有配置命名空间默认,只指定了分组,命名空间默认为public,各位按需要在registry.conf修改即可。