Seata Saga 状态机:DSL、补偿与重试
2026/8/22大约 2 分钟
分布式事务系列 · 阶段 3D · Saga · 第 29/49 篇 · 🚧 占位待学
上一篇:《编排 vs 协同:两种协调风格》
下一篇:《Saga 选型:什么时候非它不可》
学习大纲:《分布式事务学习总纲》
状态:待学习。 本文为占位文档:知识点清单、实验与验收标准已就绪,正文待按「先学习、先实验、再撰写」补全。
对应总纲单元:阶段 3D · 单元 3D.3
一、本文要解决的问题
Seata 的状态机引擎怎么用?JSON DSL 怎么描述流程、补偿、重试?跑通一个带逆向补偿的真实流程。
二、知识点清单
- JSON DSL 结构:状态节点、转移条件、服务绑定、补偿链
- saga-statemachine-designer 设计器的安装与使用
- 状态机实例的持久化与崩溃恢复(状态机本身也是一条记录)
- 向前恢复(重试)与向后恢复(补偿)的配置
三、动手实验(学习时必须真跑)
- 状态机跑「下单-扣款-送积分-发券」,扣款失败触发逆向补偿
- 在设计器里打开同一流程截图,逐节点标注
四、验收标准(全部通过才进入下一篇)
五、写作提示(补正文时遵守)
- 开篇问题驱动;结构走「是什么 → 为什么 → 怎么做 → 背景知识」
- 所有代码、命令、输出必须先在本机跑通再写入,不得杜撰
- 版本口径以总纲环境清单为准(Apache Seata 2.6.0 / MySQL 8.0 / RocketMQ 5.x / Spring Boot 3.x)
- 涉及版本敏感结论时标注出处与时间
本篇完成后,把文首导航块的「🚧 占位待学」去掉,并在总纲处打卡。