知识卡片

消峰要辨别高峰的可推迟性,而非无差别限流

普通读书笔记卡

内容

当CDN计费方式是”峰值带宽+95计费”(取每月第3高峰值的95%作为计费流量)时,压低流量峰值(消峰)是常见的省成本手段,但书中特别强调消峰要根据具体场景来判断是否适用,而不是无差别地对所有流量高峰都做限流打压。有些高峰是必须发生、不该被压制的:比如紧急修复严重Bug或安全漏洞后,需要提示用户尽快升级,这时产生的高峰是业务安全性要求本身决定的;而另一些高峰则是可以被平滑、错开的:比如非重要功能的常规版本升级通知、或者期望用户逐步过渡到新业务的场景,这类高峰背后的紧迫性并不强,可以通过限制同一时间收到升级通知的用户数量、把原本集中的请求错峰分散开来。这个案例给出一条通用的流量治理原则:面对”降低峰值”这个目标,不能把所有产生高峰的场景一视同仁地套用限流策略,而要先分辨这个高峰背后的业务紧迫性——业务上必须立即完成的动作(如安全更新)不该被消峰逻辑推迟,只有那些本身就可以容忍延后、分散执行的场景,消峰才是划算且合理的选择。

参考来源

- 位置:《高可用架构(第1卷)》第7章《安全与网络》"7.3 CDN对流媒体和应用分发的支持及优化"节,"7.3.4 内容分发系统的问题和应对思路","4.如何节省成本"(源文件:_epub-src/OEBPS/Text/Chapter7_3_5.xhtml) - 结论依据:原文说明"消峰要根据具体的使用场景来进行,例如下面的场景可能属于或不适用消峰:紧急发布一个修复严重Bug或安全漏洞的版本,这时可能会提示用户尽快升级,进而造成一个特别高的峰值……下面场景比较适合消峰:发布非重要的升级;期望用户逐步过渡",直接支撑本卡片结论。 - 原始内容:消峰要根据具体的使用场景来进行,例如下面的场景可能属于或不适用消峰:紧急发布一个修复严重Bug或安全漏洞的版本,这时可能会提示用户尽快升级……下面场景比较适合消峰:发布非重要的升级;期望用户逐步过渡。