跳到主内容
← 全部笔记

Note 02

两种故障不对称:漏发下一轮补得回来,重发砸掉的是域名信誉,补不回来。

发一封信、然后记一笔"已发",还是先记一笔、再发?这两个顺序在正常情况下没区别,只在崩溃时有区别 —— 而崩溃时的区别,就是全部区别。

先发后记:如果崩在中间,信发出去了但没记录。下一轮扫到"未发",于是再发一次。客户收到两封一模一样的开发信。

先记后发:如果崩在中间,记录写了但信没发出去。下一轮扫到"已发",于是跳过。客户少收一封。

这两种错误的代价完全不在一个量级。冷邮件的收件人是三年前问过价、现在已经不记得你的人 —— 一封重复的信足以让他点"举报垃圾邮件",而举报直接打的是发信域名的信誉分。信誉掉下去,后面所有邮箱、所有客户都受影响,而且要几个月才养得回来。漏发一封的代价是:下一轮补上。

所以顺序定成先记后发,并且在设计文档里把这条写成一句话:可能漏,绝不重。写下来是有用的 —— 后来确实有人(包括我自己)想改成"发完再记这样统计更准",看到这句话就停住了。统计准确度和域名信誉,不是一个量级的东西。