订阅以接收新文章的通知:

Cache Reserve 普遍可用:加强控制,尽量减少出口成本

2023-10-25

6 分钟阅读时间
这篇博文也有 English日本語한국어繁體中文版本。

每个人都在追求尽可能高的缓存比率。从 Cloudflare 的缓存提供更多内容意味着它可以更快地为访问者加载,节省网站运营商的来源出口费用,并提供多层弹性和保护,以确保内容可供提供且网站能够轻松扩展。一年前,我们推出了 Cache Reserve,以帮助客户从 Cloudflare 的缓存中提供尽可能多的内容。

Cache Reserve goes GA: enhanced control to minimize egress costs

今天,我们很高兴地宣布 Cache Reserve 已从测试版升级为正式版 (GA),并推出了多项令人兴奋的新功能。这些新功能包括将 Cache Reserve 添加到 Cloudflare 仪表板的缓存概览部分显示的分析中,使客户能够了解他们随时间推移的 Cache Reserve 使用情况。我们还为客户添加了一项功能,让其能够删除 Cache Reserve 中的所有数据而不会丢失边缘缓存中的内容。这对于不再使用 Cache Reserve 存储的客户非常有用。

根据我们在测试期间收到的宝贵反馈,我们还推出了新工具,让组织能够更精细地控制将哪些文件保存到 Cache Reserve 中。Cache Reserve 的默认配置是缓存所有可用的可缓存文件,但一些测试版客户报告说,他们不希望缓存某些快速变化的文件。根据他们的反馈,我们添加了在 Cache Rules 中定义 Cache Reserve 资格的功能。这个新规则让用户可以非常具体地设置哪些流量被允许进入 Cache Reserve。

要亲身体验 Cache Reserve,请访问 Cloudflare 仪表板上的 Cache Reserve 部分,按一个按钮启用 Cache Reserve,体验经济高效的高性能内容交付。

缓存背景

当客户端或浏览器发出请求时,内容交付就开始了,无论是网页、视频、应用程序,甚至是猫的图片。该请求传输到源服务器,也称为所请求内容的主机。源端组装必要的数据,将其打包,然后将其分派回客户端。此时,网站运营商通常会因将内容从其主机传输到发出请求的访问者而产生费用。“传输”的每 GB 数据是网站运营商每月托管账单上的常见项目;我们将其称为出口费或“出口税”,并且之前曾在博客中解释过为什么我们认为这是不好的做法

在返回客户端的过程中,Cloudflare 能够缓存来源的响应。缓存功能可使请求相同内容的后续访问者从我们的缓存服务器而不是源服务器接收内容。由于文件现在由 Cloudflare 服务器提供,因此网站运营商无需支付出口费用。这也意味着更好的性能,因为 Cloudflare 缓存服务器的物理位置通常比客户自己的源服务器更接近最终用户。

从缓存中提供文件是通过互联网高效交付内容的基本策略,通常也是必不可少的策略。我们可以通过查看缓存的“命中/未命中”比率来评估缓存的功效:当从缓存服务器提供网站内容时,称为缓存命中。但是,当内容不在缓存中,并且我们需要返回源服务器来获取内容的新副本时,我们将其称为缓存未命中

为什么会发生缓存未命中

有时,由于各种原因,可能无法从缓存中提供符合条件的内容。当 Cloudflare 必须重新验证源以查看是否有新副本可用时,会出现一种情况。当客户配置资源的生存时间 (TTL) 以指定应向访问者提供缓存内容的时间以及何时将其视为过时(失效)时,就会出现这种情况。不过,_用户_指定从缓存中安全提供某项内容的时间长度只是问题的一部分。内容交付网络 (CDN) 还需要考虑如何为所有客户充分利用存储并执行网络优化,以确保将正确的资产缓存在正确的位置。

在缓存空间接近满容量时,CDN 必须决定是否在指定的 TTL 之前逐出内容,以便为其他资产留出存储空间。在 Cloudflare,我们的驱逐策略根据内容的受欢迎程度对内容进行优先级排序,采用一种称为“最近最少使用”(LRU) 的算法。这意味着,即使内容的 TTL 指定该内容应该缓存很长时间,如果它的请求频率低于其他资源,我们仍然可能需要更早地逐出它,以便为更频繁访问的内容腾出空间。

这种方法有时会让用户感到困惑,不知道为什么会意外出现缓存未命中。如果没有驱逐功能,我们将被迫在远离请求访问者的数据中心存储内容,从而影响资产性能,并导致 Cloudflare 网络运营效率低下。

不过,有些客户拥有大型内容库,这些内容库的请求频率可能并不高,但他们仍然希望避免由其来源提供服务。在传统的缓存设置中,这些资产可能会因为不那么受欢迎而被驱逐,当再次请求时,又会从源头获取,从而产生出口费用。Cache Reserve 就是针对这种情况的解决方案,它允许客户从 Cloudflare 的网络而不是他们的源服务器交付资产,从而避免任何相关的出口税,并提供更好的性能。

Cache Reserve 基本信息

Cache Reserve 结合了多种 Cloudflare 技术,包括分层缓存R2 存储,无缝地为组织提供了一种方法,确保其资产永远不会从 Cloudflare 网络中逐出,即使用户不经常访问它们。一旦允许进入 Cache Reserve,内容可以存储更长的时间(默认为 30 天),而不会受到 LRU 驱逐的限制。如果在此期间收到对该内容的另一个请求,则可以将其再延长 30 天(依此类推),或者直到 TTL 表明我们不应再从缓存中提供该内容。Cache Reserve 充当支持所有可缓存内容的安全网,因此客户可以安心无忧,不必担心不必要的缓存驱逐和来源出口费用。

Cache Reserve 的配置简单高效,平均只需要几秒钟的时间即可完成配置,并立即开始看到命中率显著增加。只需按下 Cloudflare 仪表板 Cache Reserve 部分中的一个按钮,所有符合条件的内容都将在未命中时写入 Cache Reserve,并在 Cloudflare 询问资源来源之前检索。有关使用 Cache Reserve 所需事项的更多信息,请查看文档

客户在使用 Cache Reserve 时还能节省大量费用,相比之前向托管服务提供商支付的出口费用,这只占其中的很小一部分。正如 Docker 所说:

“Cache Reserve 将缓存命中率提高了 2%,但消除了大约三分之二的 S3 出口。出口费用的减少几乎比我们为 Cache Reserve 支付的价格高一个数量级。”Brett Inman,Docker | 工程高级经理

Cache Reserve 推出了哪些新功能?

自从我们上次发布有关 Cache Reserve 的博客以来,我们对该产品进行了三项重要更新,以提高用户的生活质量。

新的分析

在此之前,Cache Reserve 分析可显示特定网站使用了多少存储空间,并估算特定时间段内使用的操作次数。我们改进了分析功能,使其与传统的 Cache analytics 更为相似,客户可以从 Cache analytics 仪表板上查看自定义时间序列中的存储和操作情况。

此外,更新后的 Cache Reserve 分析功能还能让您估算出使用该产品能节省多少出口费用。

在接下来的几个月中,我们还将扩展可见性,提供 Cache Reserve 上的最大项目和请求最多的项目的信息。

Cache Reserve 删除存储

想要更改、删除或完全停止使用 Cache Reserve 的用户要求一种简单的方法来擦除其存储,而不影响他们对 Cloudflare 传统边缘缓存的使用。之前,清除 Cache Reserve 是通过清除内容来实现的。这可能会出现问题,因为清除还会擦除传统边缘缓存中缓存的内容,这可能会导致额外的源获取和出口费用。

我们为客户建立了一种新方法,只需按一下按钮即可完全删除其 Cache Reserve 存储,该按钮可以在 Cache Reserve 仪表板中找到。执行此操作时,您需要等到 Cache Reserve 被清除后再重新启用。此时间段可能会有所不同,具体取决于 Cache Reserve 中存储的量,但通常可能需要大约 24 小时。

Cache Reserve 删除按钮与清除按钮不同。清除仍然允许您通过单个请求使_所有_ Cloudflare 缓存中的资源失效,包括 Cache Reserve 和边缘缓存。Cache Reserve 删除按钮将仅主动删除 Reserve 中的整个存储。目前,可以对与区域关联的整个 Cache Reserve 存储执行此操作。

集成到 Cache Rules 中

我们从早期采用者那里了解到,他们最需要的一项 Cache Reserve 功能是能够指定其网站的哪些部分应该有资格存储在 Cache Reserve 中。以前,当用户启用 Cache Reserve 时,所有符合 Cache Reserve 条件的网站资产都可以存储在 Reserve 中。对于出口敏感的客户,我们仍然推荐这种方法。但是,对于真正想要自定义 Cache Reserve 资格的客户,您现在可以使用 Cache Rules 来根据常用的 Cache Rules 字段(主机名、路径、URL 等)以及使用特定的新规则配置(例如资源的最小大小),指定应存储在 Cache Reserve 中的资产。例如,您可以指定应写入 Cache Reserve 的所有资源的最小大小为 100kb。通过使用新的规则功能,Cache Reserve 客户可以自定义其 Reserve 的构建方式,同时仍然保持边缘缓存的利用率,并节省更多资金。

立即试用 Cache Reserve 吧!

您可以在 Cloudflare 仪表板中轻松注册Cache Reserve,方法是导航到“缓存”部分,单击 Cache Reserve,然后按下启用存储同步。尝试一下,然后告诉我们您的想法吧!

我们保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的过程

从任何设备访问 1.1.1.1,以开始使用我们的免费应用程序,帮助您更快、更安全地访问互联网。要进一步了解我们帮助构建更美好互联网的使命,请从这里开始。如果您正在寻找新的职业方向,请查看我们的空缺职位
Cache ReserveGeneral AvailabilityApplication ServicesPerformanceConnectivity Cloud

在 X 上关注

Alex Krivit|@ackriv
Cloudflare|@cloudflare

相关帖子

2024年10月31日 13:00

Moving Baselime from AWS to Cloudflare: simpler architecture, improved performance, over 80% lower cloud costs

Post-acquisition, we migrated Baselime from AWS to the Cloudflare Developer Platform and in the process, we improved query times, simplified data ingestion, and now handle far more events, all while cutting costs. Here’s how we built a modern, high-performing observability platform on Cloudflare’s network. ...