可预测性才是网络性能的隐藏维度
做底层网络的人喜欢聊 TPS、延迟、带宽。这些指标当然重要,但它们只回答了一个问题:能跑多快?——却很少回答另一个更关键的问题:跑的时候稳不稳?
Dusk 的 Kadcast 协议让我重新想了这件事。它没有走常见的随机流言传播路线,而是用结构化的覆盖网络把传输路径固定下来。结果不是单次更快,而是每次都差不多快。延迟从概率分布变成了近似常量。
这个差别一旦传到上层,影响是巨大的。不可预测的网络等于在跟开发者说:我不一定靠谱,你自己看着办。于是超时、重试、指数退避、兜底缓存……一堆本该属于底层的复杂性,全被推到了应用层。更糟的是,这些代码往往是最难测、最容易出 bug 的那部分。
所以我现在更愿意这样定义性能:一个好的网络,不是让开发者写出更快的代码,而是让他们少写一大堆根本不该存在的代码。
这在金融场景里尤其致命。交易系统里最贵的不是机器,是认知负荷——当你的脑力被;网络会不会抖占满,就没法集中在撮合逻辑、风控策略这些真正创造价值的环节上。可预测性最大的价值,就是它让开发者把假设从代码里删掉。
最好的基础设施,是那种你部署完之后几乎想不起它还在运行的东西。
@Dusk #dusk $DUSK
做底层网络的人喜欢聊 TPS、延迟、带宽。这些指标当然重要,但它们只回答了一个问题:能跑多快?——却很少回答另一个更关键的问题:跑的时候稳不稳?
Dusk 的 Kadcast 协议让我重新想了这件事。它没有走常见的随机流言传播路线,而是用结构化的覆盖网络把传输路径固定下来。结果不是单次更快,而是每次都差不多快。延迟从概率分布变成了近似常量。
这个差别一旦传到上层,影响是巨大的。不可预测的网络等于在跟开发者说:我不一定靠谱,你自己看着办。于是超时、重试、指数退避、兜底缓存……一堆本该属于底层的复杂性,全被推到了应用层。更糟的是,这些代码往往是最难测、最容易出 bug 的那部分。
所以我现在更愿意这样定义性能:一个好的网络,不是让开发者写出更快的代码,而是让他们少写一大堆根本不该存在的代码。
这在金融场景里尤其致命。交易系统里最贵的不是机器,是认知负荷——当你的脑力被;网络会不会抖占满,就没法集中在撮合逻辑、风控策略这些真正创造价值的环节上。可预测性最大的价值,就是它让开发者把假设从代码里删掉。
最好的基础设施,是那种你部署完之后几乎想不起它还在运行的东西。
@Dusk #dusk $DUSK