Loading...
↩️
可逆操作与补偿(智能体 Saga)(Saga)
一种让智能体的副作用能够安全撤销的模式。将执行轨迹组织为一个 saga:每个前向操作(预订机票、扣款、创建记录)都配有一个补偿操作来撤销其业务影响,并通过幂等键使每个工具具备幂等性,从而让重试或回滚产生相同的最终状态,而不是重复执行。当某一步中途失败时,智能体会按相反的顺序对已完成的步骤执行补偿,而不是让系统停留在半应用的状态。跨服务并不存在自动的 ACID 回滚,因此补偿被明确设计为每个操作在逻辑上的逆操作。它与 `durable-execution` 不同:后者持久化并重放一次运行,使其在崩溃后能够继续直至完成;而本模式定义的是当“完成”不再是正确结果时,如何在语义上撤销已提交的副作用。
复杂度: high工作流编排
In 30 seconds
- What
- 为每个正向操作配一个显式的补偿操作来撤销其业务影响,并用幂等键让重试与回滚收敛到同一状态。
- When to use
- 跨服务的多步骤工作流,中途失败时必须撤销已提交的副作用,而又没有自动的 ACID 回滚。
- Watch out
- 补偿逻辑必须写对且始终可用;一旦补偿有缺陷或缺失,系统就会停在不一致状态且无法自动恢复。
Loading technique guide…