Seata部署配置使用
官方文档地址:https://seata.io/zh-cn/docs/overview/what-is-seata.html
部署
说明
Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。
client
- 存放client端sql脚本 (包含 undo_log表) ,参数配置
config-center
- 各个配置中心参数导入脚本,config.txt(包含server和client,原名nacos-config.txt)为通用参数文件
server
- server端数据库脚本 (包含 lock_table、branch_table 与 global_table) 及各个容器配置
下载解压压缩包,定位到conf目录下registry.conf文件,包含Seata的注册和配置
Seata的注册和配置支持File,Nacos,Eureka,Redis,Zookeeper,Consul,Etcd3,Sofa
registry.conf
nacos配置registry
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
# type = "file"
type = "nacos"
nacos {
application = "seata-server" # nacos中的服务名 serviceId
serverAddr = "localhost"
# namespace = "public" # 默认public
cluster = "default"
# username = "nacos"
# password = "nacos"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos"
nacos {
serverAddr = "localhost"
namespace = "3cb52aaf-3e24-4eea-a8ce-2252beaf88fd"
group = "SEATA_GROUP"
# username = "nacos"
# password = "nacos"
}
}
nacos配置文件SEATA_GROUP分组 seaga服务端配置中心设置
Seata/script/config-center目录下的config.txt是seata的所有配置
通过Seata/script/config-center/nacos/nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 3cb52aaf-3e24-4eea-a8ce-2252beaf88fd 将Seata/script/config.txt 即上级目录的config同步到nacos
win可通过git bash运行sh脚本
常用配置:
service.vgroupMapping.my_test_tx_group=default
store.mode=db # 存储模式
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
# 数据库url
store.db.url=jdbc:mysql://127.0.0.1:3306/seata_server?useUnicode=true&rewriteBatchedStatements=true
# 数据库用户名密码
store.db.user=root
store.db.password=root
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
注意:
通过dataId配置
从v1.4.2版本开始,已支持从一个Nacos dataId中获取所有配置信息,你只需要额外添加一个dataId配置项。
首先你需要在nacos新建配置,此处dataId为seataServer.properties,配置内容参考https://github.com/seata/seata/tree/develop/script/config-center 的config.txt并按需修改保存
在client参考如下配置进行修改,
seata:
config:
type: nacos
nacos:
server-addr: 127.0.0.1:8848
group : "SEATA_GROUP"
namespace: ""
dataId: "seataServer.properties"
username: "nacos"
password: "nacos"