架构
业务系统为什么要做幂等
幂等的核心是:同一个业务请求重复执行一次或多次,最终业务结果应该保持一致。
为什么前端按钮置灰不够?
因为重复请求不只来自用户连续点击,还可能来自网络重试、消息重复投递、客户端超时后再次提交、任务补偿等。
常见做法
- 业务唯一键,例如订单号、支付流水号。
- 数据库唯一约束。
- 幂等 Token。
- 状态机约束,例如已完成状态禁止再次扣库存。
真正可靠的幂等通常要落在服务端和数据库层,而不是只依赖 UI。
幂等的核心是:同一个业务请求重复执行一次或多次,最终业务结果应该保持一致。
因为重复请求不只来自用户连续点击,还可能来自网络重试、消息重复投递、客户端超时后再次提交、任务补偿等。
真正可靠的幂等通常要落在服务端和数据库层,而不是只依赖 UI。