Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

借助 Cloudflare Cache Reserve 走向无限和超越

Posted on 2023-03-10

借助 Cloudflare Cache Reserve 无限远

如果我告诉你……你可以从 Cloudflare 后面运行一个网站并且每天只有 385 个请求错过了它们的缓存并通过原始服务怎么办?

借助 Cloudflare Cache Reserve 无限远

没什么大不了的,除非……那是在同一时期总共超过 166M 的请求中:

借助 Cloudflare Cache Reserve 无限远

是的,我们刚刚在 Pwned 密码上达到了 99.999% 的缓存命中率的“五个九”。实际上,它是 99.9998%,但我们现在正处于分裂头发的地步,让我们谈谈我们如何设法让一百万个请求中只有两个命中源,从一些历史开始:

优化 Pwned 密码缓存(与 Worker 一起)- @troyhunt – https://t.co/KjBtCwmhmT pic.twitter.com/BSfJbWyxMy

– Cloudflare (@Cloudflare) 2018 年 8 月 9 日

啊,回忆?那时候,Pwned Passwords 在一个月内处理的请求比我们现在一天处理的请求少得多,缓存命中率约为 92%。换句话说,不是每百万个请求中有 2 个到达源,而是 85k。我们对此很满意!随着岁月的流逝,流量增长,缓存模型得到优化,因此我们的统计数据得到改善:

就是这样 – Pwned Passwords 现在每月处理超过 2 * 十亿 * 次请求,一天中达到 9159 万次的峰值,缓存命中率为 99.52%。全部免费,开源,供社区使用? pic.twitter.com/DSJOjb2CxZ

– 特洛伊亨特 (@troyhunt) 2022 年 5 月 24 日

这几乎就是我们趋于平稳的地方,大约在 99% 左右。我们对此非常满意,因为现在每百万请求中只有 5k 个请求到达源头。由于缓存的瞬态特性和逐出标准不可避免地意味着某个地方的 Cloudflare 边缘节点需要返回到原始网站并提取数据的新副本,因此该标记周围肯定会有一个数字。但是,如果除非明确指示,否则 Cloudflare 永远不必这样做怎么办?我的意思是,如果它只是留在他们的缓存中,除非我们实际更改了源文件并告诉他们更新他们的版本怎么办?欢迎使用Cloudflare Cache Reserve :

借助 Cloudflare Cache Reserve 无限远

好的,所以我可能已经注释了重要的一点,但这就是它的感觉 – 神奇 – 因为你只需打开它……就是这样。您仍然以相同的方式提供您的内容,您仍然需要适当的缓存标头,并且您仍然拥有与以前相同的分层缓存,但现在在它和您的源之间有一个“缓存保留”。它由 R2 支持,这是他们的持久数据存储,您可以将缓存的内容保存在那里,只要您愿意。但是,根据之前的链接,它不是免费的:

借助 Cloudflare Cache Reserve 无限远

您根据存储了多少、存储了多长时间、写入了多少以及读取了多少来付费。让我们用实际的术语来说,只是作为一个简短的复习( 这里是更长的版本),请记住 Pwned Passwords 本质上只是 16^5(刚刚超过 100 万)个文本文件,每个文件大约 30kb,用于 SHA-1 哈希和类似的数字对于 NTLM 的(尽管文件大小略小)。以下是过去 9 天的缓存保留使用情况统计信息:

借助 Cloudflare Cache Reserve 无限远

我们现在可以用它做一些非常简单的数学运算,并假设 9 天,这就是我们得到的:

借助 Cloudflare Cache Reserve 无限远

每天 2 美元 ? 但是在这段时间里,这已经从我的原始服务中减少了近 1600 万个请求,所以我没有为Azure Function执行(便宜)和出口带宽(不便宜)付费。但是,为什么在 9 天内只有 1600 万次读取操作,而早些时候我们在一天内看到了 16700 万次 API 请求?因为如果您向上滚动到“在此处插入魔法”图,缓存保留只是一个后备位置,大多数请求(即其中的 99.52%)仍然由边缘缓存提供服务。

另请注意,有将近 1M 的写入操作,这有两个原因:

  1. 当请求进入并错过边缘缓存时,缓存预留被源数据播种。这意味着我们的缓存命中率将变得非常非常好,因为甚至不到一半的潜在可缓存 API 查询都在缓存保留中。这也意味着每天 48 美分的费用将会大幅下降?
  2. 每次FBI 向服务提供新密码时,受影响的文件都会从缓存中清除。这意味着随着数据流向边缘缓存并对原始服务进行相应的命中,将始终存在写入操作,当然还有读取操作。所有这一切的普遍性取决于联邦调查局输入的数据量,但在他们输入新密码时数据永远不会变为零。

无数企业依赖 Pwned Passwords 作为其注册、登录和密码重置流程的组成部分。说真的,这个数字是“不为人知”的,因为我们不知道谁在实际使用它,我们只知道该服务在过去 30 天内被点击了 3 次又 25亿次:

借助 Cloudflare Cache Reserve 无限远

让服务的消费者相信它不仅具有高度的弹性,而且速度非常快,这对于采用至关重要。反过来,更多的采用有助于推动更好的密码实践、更少的帐户接管和更多的微笑?

当那些剩余的哈希前缀填充缓存保留时,请注意“cf-cache-status”响应标头。如果您曾经看到“MISS”的值,那么恭喜您,您真的是百万分之一!

全面披露:Cloudflare 免费为 HIBP 提供服务,他们帮助启动和运行 Cache Reserve。然而,他们并不知道我正在写这篇博文,并且现场完整阅读它是第一个看到它的人。惊喜! ?

原文: https://www.troyhunt.com/to-infinity-and-beyond-with-cloudflare-cache-reserve/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme