Nacos+Seata+Spring boot+Mybatis plus多数据源事务控制

date
Dec 12, 2019
URL
slug
nacos-seata-springboot-mybatisplus-many
status
Published
tags
nacos
springboot
seata
summary
Nacos+Seata+Spring boot+Mybatis plus多数据源事务控制
type
Post

问题

使用Mybatis plus多数据源无法控制事务.

解决

使用Nacos为配置中心,Seata分布式事务管理.

Nacos配置

单机模式下运行Nacos
Linux/Unix/MacStandalone means it is non-cluster Mode. * sh startup.sh -m standalone
Windowscmd startup.cmd 或者双击 startup.cmd 文件
使用mysql
1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
conf\application.properties

Nacos项目中的配置

pom.xml
application.yml

Seata配置

建表
全局事务会话信息由3块内容构成,全局事务–>分支事务–>全局锁,对应表global_table、branch_table、lock_table,
mysql建表脚本存放于module seata-server–>conf–>db_store.sql
修改store.mode
打开seata-server–>conf–>file.conf,修改store.mode=“db”;也可以在启动时加命令参数-m db指定。
提交配置到nacos
运行conf/nacos-config.shnacos-config.txt的内容发送到nacos中
启动
  • 源码启动: 执行Server.java的main方法
  • 命令启动: seata-server.sh -h 127.0.0.1 -p 8091 -m db -n 1 -DSEATA_ENV=test

Seata项目中的配置

pom.xml
resource/registry.conf对应nacos的IP端口
application.yml

参考地址:


© Akapril 2018 - 2024