文章目录
前言
本文主要介绍使用 spring cloud alibaba + nacos + seata + openFeign 实现AT模式的分布式事务。
难点在于配置好seata,使其与已有的spring cloud + nacos + openFeign的框架适配工作。
windows 环境
使用的seata版本是 v2.0.0
spring boot:v3.3.3
spring cloud: 2023.0.3
alibaba cloud: 2023.0.1.0
nacos: 2.3.2
运行这个项目要启动 nacos, seata, zookeeper
docker中启动zookeeper命令:
docker run -d --name zookeeper -p 2181:2181 zookeeper
一、配置seata
1,配置seata server 的application.yml
在 seata\conf 文件夹中,修改application.yml
seata:
config:
# support: nacos, consul, apollo, zk, etcd3
type: nacos
nacos:
server-addr: 127.0.0.1:8848
# 该命令空间,是 Nacos 注册中心已经存在的哟
namespace: f9573bb1-9503-42db-8c07-32106277b4d8
group: SEATA_GROUP
username: nacos
password: nacos
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
# 该命令空间,是 Nacos 注册中心已经存在的哟
namespace: f9573bb1-9503-42db-8c07-32106277b4d8
cluster: default
username: nacos
password: nacos
data-id: seataServer.properties
store:
# support: file 、 db 、 redis
# 设置为db模式 记得要创建数据库表
mode: db
db:
datasource: druid
dbType: mysql
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/seata_db?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
user: root
password: root