一切福田,不離方寸,從心而覓,感無不通。

Seata 2.0实战

  • 前期准备

    • 已安装 MySQL
    • 已安装 Docker
    • 已安装 Nacos

 

  • 安装Seata

为了方便,采用docker部署。国内的小伙伴可以配置以下镜像源:

 

拉取镜像:

 

拷贝资源文件夹到本机:

 

修改配置文件:/root/docker/cloud/seata/application.yml

 

MySQL脚本

 

配置Nacos

创建命名空间:
20260807094206

 

在seata命名空间下新增配置:
20260807094935

 

启动容器

查看docker日志,看到以下信息,说明seata部署成功了。
20260807100222

 

  • 集成Seata

此示例模拟订单服务内部调用库存服务完成下单过程。

项目结构
20260807105557

MySQL脚本

 

引入依赖

 

配置文件application.yaml

 

order-service核心代码:
@GlobalTransactional(rollbackFor = Exception.class)加在需要全局事务的方法上。

 

stock-service核心代码:

本地事务:不用加@GlobalTransactional,Seata自动拦截

 

完整代码请移步:https://gitee.com/w3cnet/seata-demo

参考资料:
https://juejin.cn/post/7542422399083708454
https://blog.csdn.net/zhuocailing3390/article/details/136999236
https://juejin.cn/post/7468950874322698274