Common-Seata 分布式事务使用
📄 common-seata 分布式事务使用 _ PIGCLOUD
商业版
生态🔥
快速上手
前端部分
功能使用
- 📄 基础工具类库使用
- 📄 系统多租户使用
- 📄 swagger 接口文档
- 📄 knife4j 接口文档
- 📄 微信公众号模块使用
- 📄 本地文件系统使用
- 📄 minio 文件系统使用
- 📄 七牛文件系统使用
- 📄 阿里云文件系统使用
- 📄 腾讯云文件系统使用
- 📄 华为云文件系统使用
- 📄 支付宝支付使用
- 📄 微信支付使用
- 📄 聚合支付使用 👍
- 📄 系统按钮权限使用
- 📄 系统数据权限使用
- 📄 系统参数使用指南
- 📄 数据脱敏使用
- 📄 敏感词过滤使用
- 📄 系统缓存使用
- 📄 登录用户在线控制
- 📄 登录用户注册
- 📄 登录失败账号锁定
- 📄 登录强制重置密码
- 📄 钉钉、企微数据同步
- 📄 小程序登录接入使用
- 📄 社交登录使用
- 📄 CAS 登录使用
- 📄 企业微信登录使用
- 📄 钉钉登录使用
- 📄 网关限流功能使用
- 📄 quartz 定时任务使用
- 📄 报表设计 jimu 模块使用
- 📄 Flowable 协同办公模块使用
- 📄 大屏设计模块使用
- 📄 common-seata 分布式事务使用
- Sentinel 控制台使用
- 📄 common-xss 安全过滤使用
- 📄 common-gray 灰度路由使用
- 📄 common-idempotent 幂等使用
- 📄 common-excel 模块使用
- 📄 common-job 分布式任务使用
- 📄 common-datasource 多数据源使用
- 📄 common-websocket 模块使用
- 📄 common-sse 模块使用
- 📄 encrypt-api 接口加解密使用
- 📄 common-audit 字段审计使用
- 📄 sequence 分布式发号器使用
- 📄 sas 接口单元测试
- 📄 代码生成功能使用
- 📄 代码生成模板自定义
后端部分
扩展必看
生产部署
社区分享
更新日志
📄 common-seata 分布式事务使用
pigcloud
本章文档对应视频 📺 10.分布式事务使用讲解

# 什么是分布式事务
上图所示,当请求 A 模块时
- A 模块 Mapper 直接操作 DB 得到数据集
- 使用 Feign 调用 B 模块
- B 模块 Mapper 操作 DB 得到数据集
- 合并 1.3 两步操作或者其他的操作
分析上图可能 发生异常及其回滚
步骤 1 发生异常, spring 事务会自动回滚
步骤 2 发生异常, spring 事务会自动回滚
步骤 3 发生异常, 3 会自动回滚, 2 根据返回码抛出自定义异常 1 会自动回滚
步骤 4 发生异常, spring 事务会自动 1 的操作 ,但是 3 的操作不会回滚
分布式事务的目标 当 A 模块开启事务时,如果 4 操作过程异常,3 的操作应该回滚

# 运行 Seata Server 服务端
1 | `docker run --name seata-server -p 8091:8091 -p 7091:7091 registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/seata-server:2.0.0` |
# 微服务客户端接入
# ① 添加依赖
==服务提供方、调用方都需要添加此依赖==
1 | <dependency> |
# ② 服务调用方声明 GlobalTransactional
1 | // 分布式事务注解 |
==另外:服务提供方、调用方都需要添加 @Transactional spring 事务注解==
# ③ 微服务涉及数据库添加 undo_log 表
==服务提供方、调用方都需要添加此表==
1 | CREATE TABLE `undo_log` ( |

- 标题: Common-Seata 分布式事务使用
- 作者: PIGCLOUD
- 创建于 : 2024-01-01 00:00:00
- 更新于 : 2025-09-22 14:27:28
- 链接: https://anime-blog.52lin.site/📄 common-seata 分布式事务使用 _ PIGCLOUD/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
