内容提要
Cloudflare最近重新设计了Workers KV,采用混合存储架构,将全球键值存储的读取延迟从200毫秒降低至5毫秒。这一改进源于2025年6月12日的GCP服务中断,Cloudflare优化了存储系统,结合了自有分布式数据库和R2对象存储,通过大小路由自动处理对象,提高了效率和一致性,以适应高读取负载。
关键要点
-
Cloudflare重新设计了Workers KV,采用混合存储架构,读取延迟从200毫秒降低至5毫秒。
-
这一改进是响应2025年6月12日GCP服务中断,优化了存储系统。
-
新系统结合了Cloudflare自有的分布式数据库和R2对象存储,通过大小路由自动处理对象。
-
小对象(中位数大小为288字节)存储在Cloudflare的分布式数据库中,较大对象则路由到R2对象存储。
-
Cloudflare工程师指出,针对以小于1KB对象为主的工作负载,数据库存储比传统对象存储更高效和经济。
-
系统同时写入两个后端,成功时返回第一个后端确认持久化的结果,失败的写入会排队进行后台协调。
-
每个键值对包含高精度时间戳,以确定独立存储提供者之间的正确顺序。
-
在内部客户的初步推广中,Cloudflare发现了读取自己写入(RYOW)一致性的问题,并开发了对抗性测试框架来解决。
-
架构变化带来了显著的性能提升和冗余,内部读取的p99延迟降至5毫秒。
-
Workers KV是Cloudflare的最终一致性键值存储,广泛应用于配置数据、会话信息和静态资产的快速分布式存储。
延伸解读
架构变更的背景与意义
Cloudflare在GCP服务中断后重新设计Workers KV,显示了对外部依赖的风险意识。此次架构变更不仅提升了性能,还增强了系统的冗余性,确保在未来可能的服务中断中,能够更好地保障数据的可用性和一致性。
性能提升的实际影响
通过将小对象存储在自有的分布式数据库中,Cloudflare实现了读取延迟的显著降低。这一变化对于以小于1KB对象为主的工作负载尤为重要,企业在处理高并发请求时将享受到更快的响应速度和更低的成本。
一致性问题的解决方案
在内部推广中,Cloudflare发现了读取自己写入(RYOW)一致性的问题。为此,工程师们开发了对抗性测试框架,以确保在高读负载下,系统能够有效处理一致性边界情况,提升了整体的可靠性。
延伸问答
Cloudflare如何改进Workers KV的性能?
Cloudflare通过重新设计Workers KV,采用混合存储架构,将读取延迟从200毫秒降低至5毫秒。
GCP服务中断对Cloudflare的影响是什么?
GCP服务中断导致Cloudflare重新架构Workers KV,以减少对外部依赖的风险。
Workers KV的新架构是如何处理不同大小对象的?
新架构通过大小路由将小对象存储在Cloudflare的分布式数据库中,而较大对象则路由到R2对象存储。
Cloudflare是如何确保数据一致性的?
Cloudflare通过同时写入两个后端并使用高精度时间戳来确保数据一致性。
Workers KV的主要应用场景有哪些?
Workers KV广泛应用于配置数据、会话信息、静态资产存储、API网关、用户认证等场景。
Cloudflare如何解决读取自己写入的一致性问题?
Cloudflare开发了对抗性测试框架,以解决读取自己写入(RYOW)一致性的问题。