8
1. 环境说明
seata 1.5.2
nacos 2.1.0
mysql 8.0.27
2. 问题说明
1: nacos当做配置中心和注册中心 把seata的数据库连接信息放到nacos配置中,并且seata注册到nacos
2: 启动seata 无法从nacos中获取数据库信息 用的还是file的方式 本地生成root.data文件
3. 问题演示
3.1. 第一步:nacos中新建配置
3.2. 第二步:配置中心nacos中添加如下配置
#Transaction routing rules configuration, only for the client
service.vgroupMapping.default_tx_group=default
#Transaction storage configuration, only for the server. The file, DB, and redis configuration values are optional.
store.mode=db
store.lock.mode=db
store.session.mode=db
#These configurations are required if the `store mode` is `db`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `db`, you can remove the configuration block.
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.url=jdbc:mysql://localhost:3306/seata?serverTimezone=UTC&useUnicode=true&rewriteBatchedStatements=true
store.db.user=root
store.db.password=rootroot
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.distributedLockTable=distributed_lock
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000
3.3. 第三步:修改seata的application.yml
seata:
config:
type: nacos
naco:
server-addr: 127.0.0.1:8848 # 配置中心nacos地址
namespace: public # 命名空间
group: DEFAULT_GROUP # data-id所在的group
data-id: seata.properties # data-id是配置中心的dataid
username: nacos
password: nacos
registry:
type: nacos
nacos:
application: seata-server
server-addr: 127.0.0.1:8848 # 注册中心nacos地址
group: DEFAULT_GROUP # 注册的group
namespace: public # 注册的命名空间
cluster: default # 集群名称
username: nacos
password: nacos
3.4. 启动seata
3.5. 问题说明
启动seata之后 能够注册到nacos上,但是在控制台没有看到连接数据库的日志 并且会自动生成root.data文件 说明并没有从nacos中 获取信息连接数据库 我不知道是什么原因 。困惑了一下午 求指导 !!