Cloudflare KV Instant 读取 1.62 毫秒,写入 0.1 美元贵在哪?
Cloudflare 最近首次向客户开放 Quicksilver,将其作为 Workers KV 的一种新模式,名为 KV Instant。其读取延迟在第 99 百分位为 1.62 毫秒,而经典 KV 为 287 毫秒。但决定团队能否使用它的,不是延迟,而是它的使用限制。 Quicksilver 是 Cloudflar
Cloudflare 把自家的配置存储系统 Quicksilver 首次开放给客户,做成 Workers KV 的新模式,取名 KV Instant。第 99 百分位读取延迟是 1.62 毫秒,经典 KV 则是 287 毫秒。不过团队能不能用上它,卡点不在延迟,而在使用限制。
Quicksilver 2020 年就推出了,是 Cloudflare 自己的配置存储。Rob Sutter 写道,几乎所有打到 Cloudflare 的请求都会从里面查至少一个键,但过去它一直没做成面向客户的产品。Cloudflare 开发者平台团队的 Brendan Irvine-Broque 在 X 上公布了这次变化:
我们在 Cloudflare 有一个性能惊人的键值存储,叫 Quicksilver。
键的更新能瞬间传播到我们整个网络,每个地点的读取都是微秒级,快得离谱。
多年来,客户一直希望我们把它开放出来。
我们终于做到了,用的方式我们认为相当简单:把它作为 Workers KV 的一种新模式。
下面这些数据是在 300 多个边缘地点测出来的:
Cloudflare 也说明,经典模式的复制延迟没法用亚秒级精度测量,所以经典模式的中位数和 p95 是上界,不是实测值。
Instant 模式报告的 p95 读取延迟为微秒级。
它沿用 Workers KV 的 API,但有三处不同。模式在创建命名空间时通过"mode": "instant"属性设定,之后改不了。它不支持元数据,所以getWithMetadata始终返回 null。另外,list会返回全部匹配的键,不分页。
接着是限制。一个命名空间最多放 10000 个键值对,总容量不超过 1 MB,键最长 300 字节。写入上限是每个命名空间每秒一次,经典 KV 则是每个键每秒一次。Cloudflare 认为,单一记录来源“让你更容易推断应用中的更新顺序”。这一差异最可能让迁移团队措手不及:经典 KV 里多个键可以同时写入,到了这里会变成一条串行队列。
定价也指向同一种使用场景。Cloudflare 坦言:“存储和 A 类操作的价格明显高于 Workers KV。”
读取成本降了 60%。写一次要 10 美分,经典模式是每百万次写入 5 美元。存储是每 MB 每月 100 美元;一个命名空间容量上限就是 1 MB,所以这也是单个命名空间的存储费用上限。多键读取按键计费,一次get请求三个键,和分三次请求一样,都按三次 B 类操作收费。
Irvine-Broque 在同一个讨论串里讲了背后的考虑:
就像我们自己用 Quicksilver 一样,它适合存经常读取、很少更新的小规模数据。
定价也反映了这一点:读取成本甚至比 Workers KV 低 60%。
他补充说,写入之所以是这个价,是因为写一个键就要把它复制到数百个地点。这种存储的定价方式,就是为了让用户多读、少写。
同样在 X 上,Benjie Malinao 对适用场景的判断也差不多:
智能体要的配置存储,正是这个。读取延迟 p99 压在 2 毫秒以内,全球写入 p99 约四分之一秒。功能开关和智能体设置再也不用干等 TTL 到期。关键路径上的配置,我打算先迁过去。
功能开关、路由表和智能体设置符合这种模式。会话状态、用户记录,以及任何需要频繁写入的数据都不适合。
从业者拿来比较的对象是 Vercel。开发者 Shawn Mclean 直接问 Irvine-Broque:
开发者 Shawn Mclean 随即追问 Irvine-Broque:他正打算让中间件读取 Vercel Global Config,官方给出的延迟是 15 毫秒;如果把这套负载搬到 Cloudflare,是不是就能在中间件里花 2 毫秒读到平台租户的域名映射?
对方的回应没有把话说死。
他提到,哪怕退回两年前,Workers KV(并非 Instant)的 p50 也在 5 毫秒上下,KV Instant 比这个数字还要低——文章里的数据可以对照。
Cloudflare 给出的示例场景是每个请求都去读一个发布开关,并在主题演讲进行中把它切过去。这正好对应它瞄准的负载形态:单个键、写入一次,随后各地立刻读到。
至于 2018 年 Birthday Week 期间上线的经典 Workers KV,官方仍建议用它存放规模大或更新频繁的数据。眼下两种模式共用同一套 API,成本结构却完全相反。
KV Instant 还处在邀请注册的私有测试阶段。Cloudflare 说会逐步扩大开放范围,正式发布日期没有公布。