Seata使用nacos作为配置与注册中心
前述
截止2023-06-14
,seata
最新版1.6.1
,nacos
最新版是2.2.3
,seata
使用nacos
作为注册中心以及配置中心的步骤同样发生了变化,所以此篇便是记录最新版seata
与nacos
的整合。
nacos配置
nacos
的配置变化不是很大,主要是鉴权,下面直接给出新的有关配置,更多身份认证配置可以参考官方文档。
### If turn on auth system:
nacos.core.auth.enabled=true
### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false.
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=authKey
nacos.core.auth.server.identity.value=nacosSecurty
### worked when nacos.core.auth.system.type=nacos
### The token expiration in seconds:
nacos.core.auth.plugin.nacos.token.cache.enable=false
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=N2VqdElyVDhjdk04ZTdtZUE1eFIxMTJ1ZGctNzZ5e4Rk
seata配置
yml配置
seata
新版本将原先file.conf
以及registry.conf
去除,只需要配置conf
下的application.yml
文件
# seata可视化界面端口
server:
port: 7091
spring:
application:
name: seata-server
logging:
config: classpath:logback-spring.xml
file:
path: ${user.home}/logs/seata
extend:
logstash-appender:
destination: 127.0.0.1:4560
kafka-appender:
bootstrap-servers: 127.0.0.1:9092
topic: logback_to_logstash
# seata可视化web界面账号密码
console:
user:
username: seata
password: seata
seata:
# 配置中心
config:
# support: nacos, consul, apollo, zk, etcd3
type: nacos # 指定配置中心为nacos
nacos:
server-addr: 127.0.0.1:8848
group : SEATA_GROUP
namespace: f2b783fb-cd26-474b-aba2-d28e2a6fd657
username: nacos
password: nacos
# nacos中存放seata的配置文件
dataId: seataServer.properties
# 注册中心
registry:
# support: nacos, eureka, redis, zk, consul, etcd3, sofa
type: nacos
nacos:
application: seata-server
server-addr: 127.0.0.1:8848
group: SEATA_GROUP
namespace: f2b783fb-cd26-474b-aba2-d28e2a6fd657
cluster: default
username: nacos
password: nacos
context-path:
##if use MSE Nacos with auth, mutex with username/password attribute
#access-key:
#secret-key:
store:
# support: file 、 db 、 redis
mode: db
# 默认配置,根据实际情况修改
security:
secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017
tokenValidityInMilliseconds: 1800000
ignore:
urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login
dataId配置
上面配置中,
seata.config.nacos
中,有一个dataId
配置,这是从v1.4.2
版本开始,已支持从一个Nacos dataId
中获取所有配置信息。更多信息请查看官网:Nacos 配置中心
在
nacos
中新建seata
的seataServer.properties
配置文件
注意点
- 1、修改
service.vgroupMapping.mygroup=default
该值,作用同(nacos作为Seata的配置中心)[seata_nacos.md] - 2、修改
store.mode
store.lock.mode
store.session.mode
这三个值为db
,才能让seata
连接到数据库中。 - 3、修改
store.db
配置项下的配置,连接到自己的数据库。 - 4、该配置源文件存放在
seata
目录下:seata/script/config-center/config.txt
mysql配置
新建seata
数据库,执行seata
目录下sql
文件即可:seata1.6.1/script/server/db/mysql.sql
启动
- 优先将
nacos
启动,确保nacos
启动成功 nacos
启动完成后,在seata
的bin
目录下执行脚本
sh seata-server.sh -p 8091 -h 127.0.0.1
参数解释
-h:将地址暴露给注册中心,其他服务可以访问
seata
服务器-p:要侦听的端口
启动完成后,访问
http://127.0.0.1:7091/#/login
即可进入seata
的可视化页面