幂等性:支付与重试的底线
Nov 3, 2026VrmMate Team
超时后复用同一个键,而不是生成新的。
重试是分布式系统的常态,幂等的目标是同一个意图只生效一次。
键怎么设计
幂等键要稳定且足够长,例如 order-<orderNo>-settle-v1。客户端重试必须复用同一个键,超时后不要生成新键。
服务端怎么存
把键写入带唯一约束的表,插入成功才继续执行业务。唯一冲突说明已经处理过,直接返回既有结果。
与事务的关系
键写入和业务写入放进同一个 atomic,避免出现键已占位但业务没完成的状态。
边界
幂等键解决重复提交,不解决乱序。乱序要靠状态 guard,例如只允许从 created 迁移到 paid。