重复的指令不添乱
目录 · 2
同一道令来三遍,结果仍和一遍一样。
主人吩咐仆人:“把门闩上。”话音被风刮散,主人连喊三遍。仆人每听一遍都去闩,第三遍时门早已闩牢,他不过再碰一下,并无碍。若吩咐的是“添一桶水”,三遍便添三桶——前者幂等,后者不幂等。
揭示
这则故事想说的概念是:幂等性(Idempotence)。
英文定义(Idempotence):A property where applying an operation multiple times has the same effect as applying it once, crucial for safe retries.
它属于哪个领域:软件工程 / 接口设计(Software Engineering / API Design)
幂等操作可安全重试:网络重传、超时重试都不会改变结果。转账、下单等写接口常需借此防重复。
故事里的隐喻对应什么
- 连喊三遍闩门 → 重复请求
- 门早已闩牢 → 状态已满足
- 再碰一下无碍 → 多次=一次的效果
- 添水不幂等 → 非幂等会放大副作用