资料下载(本文版本1.3.0)
seata: https://github.com/seata/seata
**seata-server:**https://github.com/seata/seata/releases
**参考文档:**http://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html
1. nacos配置
修改seata源码中 ..\seata-1.3.0\script\config-center
下config.txt
service.vgroupMapping.my_test_tx_group=default
# 更改my_test_tx_group为自己服务名称,多个服务复制即可,需要与步骤 3 配置对应
service.vgroupMapping.platform-provider-card-group=default
service.vgroupMapping.platform-provider-ring-group=default
将 Seata 配置添加到 Nacos 中
cd ..\seata-1.3.0\script\config-center\nacos
sh nacos-config.sh localhost
成功后提示init nacos config finished, please start seata-server
在 Nacos 管理页面应该可以看到有多个 Group
为SEATA_GROUP
的配置
2. seata-server配置
修改配置文件file.conf
mode
修改为db
模式(db模式为高可用模式,全局事务会话信息通过db共享,相应性能差些,按实际需求调整模式)
store {
## store mode: file、db、redis
mode = "db"
## database store property
db {
## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp)/HikariDataSource(hikari) etc.
datasource = "druid"
## mysql/oracle/postgresql/h2/oceanbase etc.
dbType = "mysql"
driverClassName = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://127.0.0.1:3306/seata"
user = "root"
password = "root"
minConn = 5
maxConn = 30
globalTable = "global_table"
branchTable = "branch_table"
lockTable = "lock_table"
queryLimit = 100
maxWait = 5000
}
}
修改配置文件registry.conf
切换为nacos
模式,group = "SEATA_GROUP"
、cluster = "default"
后面配置需对应
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "nacos"
nacos {
application = "seata-server"
serverAddr = "127.0.0.1:8848"
group = "SEATA_GROUP"
namespace = ""
cluster = "default"
username = ""
password = ""
}
}
启动seata-server
cmd
运行seata-server.bat
,这种方法如有错误可看到日志进行处理,不会闪退。
启动成功后会在nacos
中看到seata-server
服务
3. 项目集成配置
引入seata
依赖,根据官方参考文档这里选择了seata-spring-boot-starter
配置较简单
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
添加seata
相关配置信息,需要在每个服务中配置,并修改tx-service-group
为服务名称,并与步骤 1 中nacos
配置保持一致
seata:
application-id: ${spring.application.name}
#需要和nacos中配置保持一致
tx-service-group: platform-provider-ring-group
config:
type: nacos
nacos:
#需要和server在同一个注册中心下
serverAddr: 127.0.0.1:8848
#需要server端(registry和config)、nacos配置client端(registry和config)保持一致
group: SEATA_GROUP
registry:
type: nacos
nacos:
#需要和server端保持一致,即server在nacos中的名称,默认为seata-server
application: seata-server
serverAddr: 127.0.0.1:8848
#需要server端(registry和config)、nacos配置client端(registry和config)保持一致
group: SEATA_GROUP