幂等是产品特性,不是分布式系统的卫生习惯
来源:dev.to — 2026-11-14
📋 概述
用户不在乎你的接口从收下请求到返回响应之间断没断网,他们只在乎点一次付款没被扣两次、刷新页面没多出两个订单、过隧道重试没给全公司发两遍邀请邮件。作者主张幂等定义的是网络不完美时产品是否仍然可预期,而分布式系统里最贵的状态不是失败,是「我们不知道」。
🔑 核心要点
- 重试的来源遍地都是:浏览器、负载均衡、SDK、用户双击、队列重复投递、重复到达的 webhook。
- 支付网关要幂等键、云厂商要客户端令牌,但只在这一处做远远不够。
- 同一个意图到达两次时会发生什么,是产品必须能正面回答的问题。
- 模糊就是产品债:用户看到的是重复扣款,客服说不清订单到底存不存在。
💡 金句
“The most expensive state in distributed systems is not failure. It is: 'We do not know.'”
译:分布式系统里最贵的状态不是失败,而是「我们不知道」。
👍 0
👎 0
← 返回 dev.to 首页