目录 / api-idempotent-design
SKILL
未评级
已上架
api-idempotent-design
解决重复下单/重复扣款的幂等方案:幂等键、唯一索引、状态机与补偿,附落地顺序。 1. **幂等键(Idempotency Key)** 客户端在请求中携带唯一幂等键(如订单号、业务流水号),服务端通过该键识别是否为重复请求。若已处理过相同键的请求,则直接返回之前的结果,避免重复执行。 2. **唯一索引(Unique Index)** 在数据库关键表(如订单表、扣款记录表)中对幂等键或业务唯一字段建立唯一索引。插入时若发生冲突,则判定为重复请求,阻止数据重复写入。 3. **状态机(State Machine)** 设计明确的业务状态流转规则(如:待支付 → 已支付 → 已完成),确保同一笔业务只能按顺序推进状态。重复请求若试图将状态从“已支付”回退或重复推进,将被拒绝。 4. **补偿机制(Compensation)** 对于异常场景(如超时、部分失败),提供对账与补偿能力。通过定时任务扫描未完成或状态不一致的数据,进行冲正、退款或状态修复,保障最终一致性。 **落地顺序建议:** ① 客户端生成并传递幂等键 → ② 服务端接收请求后先查缓存/数据库判断是否已处理 → ③ 未处理则尝试插入唯一索引(防重)→ ④ 执行业务逻辑并更新状态机 → ⑤ 异步补偿任务兜底处理异常情况。 该方案结合预防、拦截与恢复手段,实现高可靠幂等控制。
模型生成摘要(rules/v1 · 2026-11-14 01:18):解决重复下单/重复扣款的幂等方案:幂等键、唯一索引、状态机与补偿,附落地顺序
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-14 01:16 | cfdaf235 | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。