Skip to content

[Backend] 幂等与重试安全:接口幂等 + Kafka 消费去重 #6

Description

@Cai-Tang-www

背景

系统已具备异步执行能力,但在重试场景下需要保证业务结果一致性。

问题

  • 重试/重复投递可能导致重复执行
  • 缺少幂等键与消费去重机制
  • 关键操作的“至多一次/至少一次”语义不清晰

目标

建立可验证的幂等与重试安全机制,避免重复副作用。

建议改造

  1. POST /api/runs 支持幂等键(如 Idempotency-Key
  2. Kafka 消费侧引入去重记录(按 run_id/消息 ID)
  3. 明确重试策略与最终一致性语义
  4. 对 DB 更新使用条件更新防并发覆盖

验收标准

  • 相同幂等键重复请求不重复创建 run
  • 重复 Kafka 消息不会重复执行业务副作用
  • 有重试与去重相关单元/集成测试

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions