Cloudflare 如何将 Quicksilver 迁移到多级缓存并处理数十亿个请求
创始人
2025-08-16 15:42:31
0

作者 | Renato Losio

译者 | 王强

Cloudflare 的工程团队最近分享了他们如何将公司内部的全局键值存储 Quicksilver 过渡到分层缓存架构的故事。他们介绍了他们逐渐从“每一处都存储全部内容”的策略转变为采用分布式缓存系统的旅程。这一变化提高了存储效率,同时保证了一致性和边缘的低延迟读取性能。

在过去几年里,Cloudflare 从现在被称为 Quicksilver V1 的系统过渡到了新的分层缓存系统 Quicksilver V2,后者只使用了少数服务器来存储数据。这两篇文章描述了他们如何实现分层缓存架构的过程,这个过程需要团队迁移数十万个实时数据库,同时每秒服务数十亿个请求。

Quicksilver 是 Cloudflare 内部开发的一种键值存储,用于实现快速的全局复制,并在该公司全球众多数据中心中实现低延迟访问。它最初设计为分发各种配置的全局系统,随着时间的推移,它演变成了许多 Cloudflare 服务和产品(包括他们的 DNS、CDN 和 WAF)的基础存储系统。

Quicksilver v1 在全局每个服务器上都存储完整的数据集,结果消耗了大量磁盘空间,1.6TB 的数据集在仅仅一年内就增长了 50%,意味着 Cloudflare 网络中的可用存储即将耗尽。向新方案的迁移始于 Quicksilver v1.5,这是一个引入代理和复制服务器角色的解决方案,它让磁盘占用减少了 50%。

在最新的 v2 实现中,Cloudflare 引入了多级缓存策略。最新架构的特点是本地的每服务器一份缓存、数据中心范围内的分片缓存和在专用存储节点上的完整数据集副本,以及将未命中缓存分散在服务器之间的响应式预取。内存使用和冷缓存问题导致 Cloudflare 选择使用 RocksDB 的持久存储,而不是基于内存的缓存,并使用基于这一引擎的压缩过滤器进行驱逐。

来源:Cloudflare 博客

Cloudflare 的系统工程师 Anton Dort-Golts 和 Marten van de Sanden 解释了为什么向后兼容性和顺序一致性很重要:

Quicksilver 从一开始就为客户提供了顺序一致性……我们亲身体会了海勒姆定律,Quicksilver 在公司内部采用得如此广泛,以至于我们在早期版本中引入的每个属性现在都依赖其他团队。这意味着更改行为将不可避免地破坏现有特性并引入错误。

新架构通过多版本并发控制(MVCC)和滑动窗口方法来处理异步复制挑战,从而保持顺序一致性。

来源:Cloudflare 博客

从旧架构到 Quicksilver v2 的转变解决了 Cloudflare 之前在 330 个城市网络中遇到的关键瓶颈,同时保持了 1.6TB 数据集的亚毫秒处理性能(该数据集包含五十亿个键值对)。根据作者的说法,Quicksilver 目前对 90% 的请求可在 1 毫秒内响应,99.9% 的请求在 7 毫秒内响应。大多数请求只返回几个键,而其他请求返回数百甚至更多的键。Dort-Golts 和 van de Sanden 补充说:

我们的键空间被分成了多个分片。数据中心中的每个服务器被分配了一个分片。这些分片不是包含它们键空间部分的完整数据集,而是包含它的一片缓存。这些缓存分片由数据中心内的所有未命中缓存来填充。这一切组成了一个使用分片分布的,数据中心层面的缓存系统。

Cloudflare 通过维护本地每个服务器一块缓存以及数据中心级别的缓存来解决数据本地性问题,数据中心中的所有服务器都包含它们的本地缓存,和分片缓存的一个物理缓存分片。每个请求的键首先在服务器的本地缓存中查找,然后在数据中心范围的分片缓存中查找。如果两个缓存都未命中键,则在存储节点之一上查找。作者在文章最后分享了一些有多个缓存层的测试结果:

添加第二缓存层后,可以在数据中心内解决的键的百分比显著提高。表现最差的实例具有高于 99.99% 的缓存命中率。所有其他实例的缓存命中率高于 99.999%。

代理和副本之间的 99.9 百分位延迟几乎没有差异,由于磁盘数据集较小,代理偶尔优于副本。

相关内容

鸿蒙AI加持的华为Mate...
11 月 25 日,在华为 Mate 80 系列|Mate X7 ...
2025-12-25 16:20:45
原创 ...
美国新型FF(X)护卫舰的示意图 这种做法直接带来火力不足的问题...
2025-12-25 12:00:39
车机“活人感”如何“恰到好...
来源:中国汽车报网 能像真人一般理解你的话语,与你交流,协助解决...
2025-12-25 11:00:58
如何认识算法
近年来,伴随深度学习、大模型等人工智能技术日益成熟,算法和海量数据...
2025-12-25 10:21:24
大模型如何更懂“中国话”
大模型如何更懂“中国话” “过马路时,你要注意看车!” “我计划...
2025-12-25 10:21:06
奔驰E级优惠上十万,为何大...
曾经依靠立标,就能溢价十万元的奔驰E级,在享界S9的零重力座椅与3...
2025-12-25 08:21:54

热门资讯

孕妈检测出胎儿没有“胎心”究竟... 原标题:孕妈检测出胎儿没有“胎心”究竟为何?多半是这4种原因,预防下 昨天小樱...
耳聋耳背知识分享-----耳朵... 耳朵听力下降恢复方法首先要找出听力下降的病因,其次针对病因进行对症治疗。 耳朵听力下降,如何恢复听...
原创 如... 肺是人体非常重要的器官,空气中的很多灰尘和垃圾都会随空气进入肺部,所以肺部的清洁是非常重要的。我们可...
激光术后护理指南:如何科学恢复... 二氧化碳激光是一种常用于去除瘢痕、色素沉着、皱纹和其他皮肤问题的治疗方法。它通过发射高能量的二氧化碳...
如何有效应对低血压问题,提升生... 血压低,这个问题在生活中并不罕见。很多人可能会觉得,血压低就像是个小毛病,不用太在意。但实际上,低血...
孩子自控力差?家长如何引导培养 孩子自控力差?家长如何引导培养 在孩子的成长过程中,自控力是一项至关重要的能力。它关乎孩子的学业表现...
原创 婴... 在宝宝的成长过程中,奶粉作为重要的营养来源,其选择至关重要。那么,什么样的婴儿奶粉比较好呢?奶粉的营...
存款利息怎么算?湖南农商行存款... 导读湖南农商行存款利息怎么算?湖南农商行作为湖南最大的股份制银行,它是一家地方性、集约化、国际化、股...
宝宝不吸奶瓶的问题如何解决 原标题:宝宝不吸奶瓶的问题如何解决 宝宝出生后不久,有些妈妈因为要上班而不得不...
科普|秋季“花粉过敏”症状有哪... 不少人在秋冬来临之际,会出现反复打喷嚏、流鼻涕、鼻塞、眼睛发痒、呼吸不畅等症状,这有可能是遭遇了“花...