| Try | 检查并预留资源(冻结额度、占用库存) |
|---|---|
| Confirm | 确认使用预留资源,必须成功且幂等 |
| Cancel | 释放预留资源,需处理空回滚与悬挂 |
三阶段状态迁移
三阶段状态迁移
库存:可用 → 冻结(Try)→ 扣减(Confirm)
↘ 释放(Cancel)→ 可用
幂等要点:
- Confirm 重复到达:直接返回成功
- Cancel 先于 Try:记录空回滚标记
- 悬挂 Try:先查空回滚标记再执行TCC 要把“预留”状态作为一等业务状态管理,并处理 Try 超时未达但 Cancel 先到的悬挂场景。