背景
系统已具备异步执行能力,但在重试场景下需要保证业务结果一致性。
问题
- 重试/重复投递可能导致重复执行
- 缺少幂等键与消费去重机制
- 关键操作的“至多一次/至少一次”语义不清晰
目标
建立可验证的幂等与重试安全机制,避免重复副作用。
建议改造
POST /api/runs 支持幂等键(如 Idempotency-Key)
- Kafka 消费侧引入去重记录(按
run_id/消息 ID)
- 明确重试策略与最终一致性语义
- 对 DB 更新使用条件更新防并发覆盖
验收标准
- 相同幂等键重复请求不重复创建 run
- 重复 Kafka 消息不会重复执行业务副作用
- 有重试与去重相关单元/集成测试
背景
系统已具备异步执行能力,但在重试场景下需要保证业务结果一致性。
问题
目标
建立可验证的幂等与重试安全机制,避免重复副作用。
建议改造
POST /api/runs支持幂等键(如Idempotency-Key)run_id/消息 ID)验收标准