Cloudflare如何使用Quicksilver实现互联网规模级别的配置分发? - Geoffrey Plouviez


Cloudflare的网络高峰时每秒为全球Internet用户处理超过1400万个HTTP请求。我们花了很多时间考虑使用哪些工具来更快,更安全地发出这些请求,但是一种解决方案使所有这些成为可能,关键是如何在全球范围内分发配置。
每次用户对其DNS进行更改,添加Worker或对其配置进行数百次其他更改时,我们都会将该更改分发到我们运维硬件的90个国家中的200个城市。我们可以在几秒钟内完成。做到这一点的系统不仅需要快速而且无可挑剔的可靠性:超过2600万个Internet属性依赖于此。随着Cloudflare在过去十年中的发展,它还必须进行大规模扩展。
从历史上看,我们是在Kyoto Tycoon(K​​T)数据存储之上构建此系统的。在早期,它对我们的服务非常出色。我们提供了对加密复制的支持,并为PostgreSQL 编写了外部数据包装器。但是,当我们超过100个城市时,对前25个城市有效的方法就开始显示其力不从心了。2015年夏天,我们决定从头开始编写替代方法。这是一个故事,说明我们如何以及为什么超出了KT,了解了我们需要新的东西并建立了所需的东西。

点击标题见原文见详细。直接上结论:

结论
从某种程度上说,Quicksilver是一种基础架构工具。理想情况下,甚至不需要三思而行。在另一方面,以秒为单位分发配置更改的能力是我们公司的最大优势之一。它使Cloudflare的使用对于我们的用户而言既有趣又强大,并且成为我们构建的每个产品的主要优势。这就是基础架构的美感和艺术性:构建足够简单的东西,使基于它的所有功能都变得更强大,更可预测且更可靠。
我们正计划在不久的将来开源Quicksilver,希望它能为您服务,也能为我们服务。如果您有兴趣在此项目和其他项目上与我们合作,请查看我们的工作页面