适用场景:下单、支付、表单提交等需要防止用户重复点击的操作
1. 设计目标
- 防止用户快速多次点击导致重复提交
- 防止恶意脚本/抓包重放攻击
- 保证即使所有防御失效,数据也不会重复
2. 纵深防御体系
- 第1层:前端(防君子不防小人)- 按钮置灰 / Loading / 防抖节流
- 第2层:网关限流 - IP / 用户 / 接口级别限流
- 第3层:幂等 Token(核心防线)- Redis 原子校验,消费即删除
- 第4层:数据库唯一索引(最终兜底)- 唯一约束保证数据不重复
2026/1/21...大约 3 分钟
