Loading

Seata Server安装

1.Seata Server简单部署

官方下载地址:https://github.com/seata/seata/releases

修改conf/registry.conf文件,seata的注册中心为nacos:

image

注意:确保client与server的注册处于同一个namespace和group,不然会找不到服务。

Server端存储模式(store.mode)支持三种:

  1. file:单机模式,全局事务会话信息内存中读写并持久化本地文件root.data,性能较高(默认)
  2. DB:高可用模式,全局事务会话信息通过DB共享,相对性能差一些
  3. redis:Seata-Server1.3及以上版本支持,性能较高,存在事务信息丢失风险,需要配合实际场景使用。

修改conf/file.conf文件,修改seata的存储模式,把seata的默认存储模式修改为数据库DB,同时需要配置JDBC

image
image

我们使用db模式的时候,需要事先创建库和表,表分别是global_table(全局事务会话表),branch_table(分支事务会话表),lock_table(锁数据表)

建表语句地址:https://github.com/seata/seata/blob/develop/script/server/db/mysql.sql

启动:sh seata-server.sh

此时在nacos可以看到对应的服务

image

2.Seata Server高可用部署

Seata支持注册服务到Nacos,以及支持Seata所有配置放到Nacos配置中心,在Nacos中统一维护;高可用模式下就需要配合Nacos来完成

image

之前步骤已经将seata注册到nacos中,接下来我们需要将seata的配置文件也放入nacos配置中心中

我们需要修改conf/registry.conf文件,seata的配置中心为nacos:

image

我们在nacos中创建dataId为seataServer.properties的配置文件

image

文件内容可以参考官网:https://github.com/seata/seata/tree/develop/script/config-center,具体修改内容:

# 事务分组,用于防护机房停电,来启用备用机房,或者异地机房,容错机制,当然如果Seata-Server配置了对应的事务分组,Client也需要配置相同的事务分组。service.vgroupMapping.可以自定义=default,default这里必须等于registry.config中的cluster="default"(当然可以更改 )
service.vgroupMapping.mygroup=default
# 存储模式修改为db,并修改对应的jdbc
store.mode=db
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&rewriteBatchedStatements=true
store.db.user=root
store.db.password=root
store.db.minConn=5
store.db.maxConn=30

此时重启seata服务即可。

以上这种方式是1.4.2后才支持的,之前的版本需要手动执行脚本,参考:https://seata.io/zh-cn/docs/user/configuration/nacos.html

3.Seata Server集群部署

如果想要集群方式部署seata只要修改seata对应的端口即可

在 Linux/Mac 下

$ sh ./bin/seata-server.sh

在 Windows 下

bin\seata-server.bat

支持的启动参数

参数 全写 作用 备注
-h --host 指定在注册中心注册的 IP 不指定时获取当前的 IP,外部访问部署在云环境和容器中的 server 建议指定
-p --port 指定 server 启动的端口 默认为 8091
-m --storeMode 事务日志存储方式 支持 file,db,redis,默认为 file 注:redis需seata-server 1.3版本及以上
-n --serverNode 用于指定seata-server节点ID 1,2,3..., 默认为 1
-e --seataEnv 指定 seata-server 运行环境 dev, test 等, 服务启动时会使用 registry-dev.conf 这样的配置
posted @ 2022-05-21 10:39  ZT丶  阅读(470)  评论(0编辑  收藏  举报