Seata 服务端搭建流程
- 相关组件下载
2.db模式搭建seata-server服务端
Server端存储模式支持三种:
file:单机模式。全局事务会话信息内存中读写并持久化本地文件root.data,性能较高(默认)
db:(5.7+)高可用模式。全局事务会话信息通过db共享,相应性能差些
redis:Seate-Server1.3及以上版本支持,性能较高,存在事务信息丢失的风险,请提前配置适合当前场景的redis持久化配置
2.1 db-nacos部署seata-server服务端
上传seata-server-1.3.0.tar.gz和script脚本到Linux服务器
下载script脚本,上传到Linux服务器
在MYSQL数据库创建SQL脚本文件,脚本地址【github.com/seata/seata…
1.下载script脚本步骤如下:
解压seata-1.3.0.zip文件夹,找到script文件夹,也上传到Linux服务器
如下图,将2个文件上传到了Linux服务器
在这里插入图片描述
2.创建SQL脚本,完成后,如下图所示
修改相关配置文件如下
1.解压seata-server-1.3.0.tar.gz文件,添加script脚本目录文件
解压命令
[root@VM-12-6-centos software]# tar -zxvf seata-server-1.3.0.tar.gz -C /usr/local
cd到/usr/local 重名seata文件
[root@VM-12-6-centos local]# mv seata seata-1.3.0
复制script目录 到/usr/local/seata-1.3.0 目录中中
[root@VM-12-6-centos software]# cp -r script /usr/local/seata-1.3.0
2.修改file.conf文件,修改成db模式,配置mysql数据源
file.conf文件位置
/usr/local/seata-1.3.0/conf
编辑file.conf文件
[root@VM-12-6-centos conf]# vim file.conf
修改内容如下
seata-server服务端的存储模式为:db模式
配置mySQL的连接数据源
编辑完后,保存文件
按ESC键, :wq! 退出文件
3.修改registry.conf文件,配置nacos注册中心和nacos配置中心
registry.conf文件位置
/usr/local/seata-1.3.0/conf
编辑registry.conf文件
[root@VM-12-6-centos conf]# vim registry.conf
修改registry.conf文件的registry配置模式为nacos并配置nacos连接
修改registry.conf文件的config配置模式为nacos
保存修改后的文件并退出。
:wq!
4.修改script目录下的config.txt配置文件,方便启动seata-server时自动注册到nacos服务的seata-test配置空间中
script目录下的config.txt文件的位置
/usr/local/seata-1.3.0/script/config-center
编辑config.txt文件
[root@VM-12-6-centos config-center]# vim config.txt
修改存储模式为db,修改mysql的连接数据源
配置事务分组,要与客户端配置的事务分组一致
红色框中的参数可以自定义
绿色框中的zzyProject 必须要等于/usr/local/seata-1.3.0/conf/registry.conf文件中cluster = “zzyProject”
保存修改后的文件并退出。
:wq!
5.运行nacos-config.sh命令,将config.txt文件注册到nacos的配置中心命令
nacos-config.sh文件位置
/usr/local/seata-1.3.0/script/config-center/nacos
将config.txt文件注册到nacos的配置中心 命令
sh nacos-config.sh -h 1xx.2xx.xx.1xx -p 8847 -g SEATA_GROUP -t 28d63442-4342-4417-9174-68c7819a21e6
参数说明:
-h: host,默认值loaclhost,nacos服务注册中心的IP地址
-p:port,默认值8848
-g:配置分组,默认值为SEATA_GROUP
-t:租户信息,对应nacos的命名空间ID字段,默认值为空
运行上述命令后,如下图所示
来到nacos注册中心,在seata-test空间中,发现上面config.txt文件中的属性信息全部配置到了nacos中。如果实际开发中用不到config.txt文件中的一些属性,完全可以在config.txt文件中删除掉
6.运行seata服务端文件seata-server.sh。seata服务端的默认端口为8091
seata服务端文件seata-server.sh的位置
/usr/local/seata-1.3.0/bin
运行seata-server.sh文件的命令
1xx.2xx.2x.1xx 指的时nacos服务注册中心的IP地址
./seata-server.sh -h 1xx.2xx.2x.1xx -p 8091
启动成功后,去naocs注册中心,可以看到seata-server服务
集群启动模式:
bin/seata-server.sh -p 8091 -n 1
bin/seata-server.sh -p 8092 -n 2
bin/seata-server.sh -p 8093 -n 3
bin/seata-server.sh -h 1xx.2xx.2x.1xx -p 8091 -m db -n 1 -e prod
其他参数说明
参数 全写 作用 备注
-h –host 指定在注册中心注册的IP 指定定时获取当前的IP,外部访问部署在云环境和容器中的server,建议指定
-p –port 指定server启动的端口 默认为8091
-m –storeMode 事务日志存储方式 支持file,db,redis,默认为file,注:redis需seata-server1.3版本以上
-n –serverNode 用于指定seata-server节点ID 如1,2,3,…,默认为1
-e –seataEnv 指定seata-server运行环境 如dev,prod,test等,服务启动时会使用registry-dev.conf这样的配置
后台运行的方式启动
nohup sh seata-server.sh -h 192.168.233.134 -p 8091 >/dev/log/seata.log 2>&1 &