server端配置
# 安装
下载 seata-server-1.4.2.zip (opens new window) 服务端
下载seata-1.4.2.zip (opens new window) 参数配置文件以及sql脚本
存放server侧所需SQL和部署脚本(seata-1.4.2\script\server)
- db: server 侧的保存模式为
db
时所需表的建表语句 - docker-compose: server 侧通过 docker-compose 部署的脚本
- helm: server 侧通过 Helm 部署的脚本
- kubernetes: server 侧通过 Kubernetes 部署的脚本
# 数据库创建
根据指引的文件位置,下载SQL脚本文件。在MySql中创建数据库seata,然后再数据库中执行脚本,会生成三种表。
# 修改 registry.conf
位置:seata-server-1.4.2\conf
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "nacos" ## 修改为nacos
nacos {
application = "seata-server"
serverAddr = "192.168.0.196:10002" ## 修改nacos服务地址
group = "SEATA_GROUP" ## 修改nacos服务分组
namespace = "" ## 修改nacos的命名空间
cluster = "default" ## 定义集群名称
username = ""
password = ""
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos" ## 修改为nacos
nacos {
serverAddr = "192.168.0.196:10002" # 修改nacos服务地址
namespace = "" ## 修改nacos服务分组
group = "DEFAULT_GROUP" ## 修改nacos的命名空间
username = ""
password = ""
dataId = "seataServer.properties"
}
}
# nacos配置模式
配置中心新建 ”seataServer.properties“
内容如下:
# 数据存储方式,db代表数据库
store.mode=db
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://192.168.4.52:3306/seata?useUnicode=true&rewriteBatchedStatements=true
store.db.user=hd_dev
store.db.password=db1212
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000
# 事务、日志等配置
## 与客户端的保持一致
service.vgroupMapping.my_test_tx_group=default
server.recovery.committingRetryPeriod=1000
server.recovery.asynCommittingRetryPeriod=1000
server.recovery.rollbackingRetryPeriod=1000
server.recovery.timeoutRetryPeriod=1000
server.maxCommitRetryTimeout=-1
server.maxRollbackRetryTimeout=-1
server.rollbackRetryTimeoutUnlockEnable=false
server.undo.logSaveDays=7
server.undo.logDeletePeriod=86400000
# 客户端与服务端传输方式
transport.serialization=seata
transport.compressor=none
# 关闭metrics功能,提高性能
metrics.enabled=false
metrics.registryType=compact
metrics.exporterList=prometheus
metrics.exporterPrometheusPort=9898
修改内容说明
service.vgroupMapping.my_test_tx_group=default
service.vgroupMapping.{自定义事务分组名称可以已项目命名要与file.conf.example中配置的事务分组保持一直}=default
service.default.grouplist=127.0.0.1:8091
事务中间件服务的地址和端口号
store.mode=file 改为db同时修改下面的信息
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&rewriteBatchedStatements=true
store.db.user=username
store.db.password=password
# 启动seata 服务
Server支持多种方式部署:直接部署,使用 Docker, 使用 Docker-Compose, 使用 Kubernetes, 使用 Helm.
# 直接部署
在RELEASE (opens new window)页面下载相应版本并解压
直接启动
在 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 这样的配置 |
如:
$ sh ./bin/seata-server.sh -p 8091 -h 127.0.0.1 -m file
# 容器部署
容器部署当前支持三种方式: