借助遍布全球的数据中心,Cloudflare 可以在非常靠近最终用户的地方缓存内容。然而,如果某些内容不在缓存中,Cloudflare 数据中心必须联系源站服务器以接收可缓存的内容。分层缓存通过将 Cloudflare 的数据中心划分为下层和上层层次结构来工作,其中只有上层才能向您的源站请求内容。
Smart Tiered Cache 会动态为您网站的每个源站选择单个最近的上层 tier,无需任何配置,并使用 Cloudflare 自研的性能与路由数据。Cloudflare 会收集每个发往源站的请求的延迟数据,并利用这些延迟数据评估任意上层数据中心与源站的连接质量。因此,Cloudflare 可以选择延迟最低的数据中心作为该源站的上层 tier。
托管在公有云提供商(AWS、GCP、Azure 或 Oracle Cloud)上的源站通常使用 anycast ↗ 或区域单播网络,这会导致 Smart Tiered Cache 无法仅通过延迟探测确定源站位置。为解决此问题,您可以设置 cloud region hint(云区域提示),告知 Smart Tiered Cache 您的源站所在的云提供商和区域。Smart Tiered Cache 随后会选择靠近该云区域的主上层数据中心,并在其他位置选择备用节点以提高韧性。要设置 cloud region hint,请参阅设置 cloud region hint。
虽然 Smart Tiered Cache 会为每个源站选择一个 Upper Tier,但在使用 Load Balancing 时,Smart Tiered Cache 会为整个 Load Balancing Pool 选择单个最佳 Upper Tier。
启用 Smart Tiered Cache 后,更新源站 IP/DNS 记录时需格外谨慎。根据所做更改,已分配的上层 tier 可能会发生变化,导致 MISS 率上升,因为新上层 tier 需要重新填充缓存。如果源站切换到 anycast 网络之后,Smart Tiered Cache 的效果会显著降低,除非您设置了 cloud region hint。