Cloudflare将每日90亿次请求的JavaScriptCDN迁移至开发者平台

Cloudflare宣布将其服务cdnjs完全迁移到自身开发者平台,用Workers、R2等组件替代原有混合架构。此次迁移不仅提升了系统效率和可靠性,还验证了Cloudflare开发者平台在大规模公共...

互联网/IT

近日,全球领先的网络安全与性能服务提供商Cloudflare宣布完成了一项重大技术升级:将其广受欢迎的JavaScript内容分发网络(CDN)服务cdnjs全面迁移至自身的开发者平台。这项迁移涉及每天处理约90亿次请求的庞大流量,标志着Cloudflare在提升其开发者平台能力方面迈出了重要一步。

根据Cloudflare官方披露,此次迁移的核心在于用其自主研发的Workers、R2、Workflows等服务组件,取代了之前分布在Cloudflare与Google Cloud Platform(GCP)上的复杂发布基础设施。新的架构以Cloudflare R2作为已发布包文件的权威存储源,并通过KV存储元数据、Workers负责请求交付、Workflows编排发布流程,实现了从包摄取到最终交付的全流程自动化。

文章配图

"这是一次在广泛使用的公共服务规模上对其开发者平台进行内部验证(dogfooding)的示例。"Cloudflare在其博客中这样描述这次迁移。值得注意的是,尽管采用了全新的架构,但迁移过程中仍保持了现有URL结构、包内容以及Subresource Integrity(SRI)哈希的一致性,确保了对下游用户的无缝过渡。

在技术实现层面,Cloudflare引入了多项创新措施。例如,为了提高传输效率,系统开始支持预压缩的Brotli和gzip资源;为了解决内存限制问题,压缩工作被转移到Containers中执行,而非直接在Workers中运行。此外,迁移过程还暴露了一些平台限制,促使Cloudflare将Worker子请求限制从1,000提升至1,000万,并将Workflow步骤上限从1,024提升至10,000(可配置上限为25,000)。

该架构图清晰展示了迁移后的cdnjs系统流程:从GitHub Packages和npm Registry获取更新,经过GCS Bucket处理后,最终存储至Cloudflare R2并同步至其他备份和索引服务。