分层缓存:让回源请求先在中间层汇聚

边缘节点很多,每个都独立回源的话,源站看到的未命中请求数会被节点数放大。中间层的作用就是把这些请求收拢。

6 分钟缓存与命中
分层缓存:让回源请求先在中间层汇聚

要点

节点越多,无分层时源站承受的重复回源就越多。开启分层缓存通常能显著降低回源量,代价是首次命中多一跳。

本文目录
  1. 01节点多反而伤源站
  2. 02中间层怎么收拢请求
  3. 03什么场景收益最大

节点多反而伤源站

设想一个冷资源,同时被分布在 50 个城市的用户请求。没有分层缓存时,这 50 个边缘节点各自未命中、各自回源——源站收到 50 个一模一样的请求。

这就是「节点数量越多越好」这个直觉失效的地方:节点数放大了覆盖,同时也放大了冷内容的回源倍数。

中间层怎么收拢请求

开启分层缓存后,边缘节点不直接回源,而是先向一个区域中间层请求。中间层未命中才回源。于是那 50 个请求在中间层汇聚成几个(按区域数),源站只看到收拢后的量。

结构源站看到的重复请求首次命中延迟
边缘直接回源约等于节点数一跳
边缘 → 区域中间层 → 源站约等于区域数两跳

取舍在哪里

分层缓存让首次未命中多走一跳,理论上增加一点延迟。但中间层通常与源站之间有优化过的链路,实际的首字节时间往往不比直接回源差,而回源量的下降是实打实的。

什么场景收益最大

  • 长尾内容多的站点(图库、点播、大量商品详情页)——冷内容多,重复回源问题最严重;
  • 源站在单一地域而用户全球分布——回源链路长,减少回源次数收益直接;
  • 按回源流量计费的套餐——回源量下降直接反映在账单上;
  • 反过来,如果你的内容池很小且全是热点,分层缓存的收益就有限。

在你的网站验证

费用测算估算回源量下降后账单的变化