Cloudflare将博客迁移至EmDash,性能提升与缓存优化实践

Cloudflare 最近完成了从 WordPress 到自研开源 CMS EmDash 的博客迁移。该系统利用 Cloudflare Workers 和多层缓存架构,显著提升了页面加载速度和稳定性,...

互联网/IT

近日,Cloudflare 公布了其将主博客从 WordPress 迁移到内部开发的开源内容管理系统(CMS)EmDash 的详细过程。这一迁移旨在解决原有平台在高负载下的性能瓶颈,并探索更高效的网站架构。

EmDash 是一款基于 TypeScript 构建的 CMS,专为提升性能和缓存能力而设计。根据 Cloudflare 的测试,EmDash 可以处理高达每秒 7000 个请求的流量,相比传统的 WordPress 平台,在应对高峰流量时表现更为稳定。Cloudflare 表示,他们作为 EmDash 的首个用户,在发现原有平台存在局限后,决定将其博客迁移到这一新系统。

此次迁移的核心技术亮点在于使用了 Cloudflare Workers 作为运行环境,并结合了多层缓存机制。具体包括 Workers Cache(用于存储完全渲染的页面)、静态文件缓存(如图片、字体等),以及基于 Workers KV 构建的 EmDash 对象缓存。此外,EmDash 还集成了 Cloudflare Hyperdrive,实现了与 PlanetScale 数据库的高效连接。

为了确保迁移过程的平稳过渡,Cloudflare 团队采用了逐步切流的策略。首先将 1% 的流量路由到新系统,经过验证无误后再逐步增加流量比例,最终在一天内完成全部流量的切换。这一过程中,一个关键的技术手段是使用了一个代理 Worker,它通过设置版本 Cookie 来智能地将请求路由到新版或旧版页面。如果新系统出现错误,代理 Worker 会自动回退到旧站点,从而保证了服务的连续性。

文章配图

Cloudflare 内容工程高级经理 Kody Jackson、系统工程师 Diogo Carneiro 和高级设计工程师 Amy Dutton 在博客中分享了迁移后的效果对比。数据显示,新系统的 p95 响应延迟曲线非常平稳,与旧平台相比,负载升高时不再出现周期性的延迟尖峰。这表明 EmDash 在高并发场景下具有更强的稳定性和可预测性。

除了性能提升,此次迁移还带来了其他方面的改进。例如,新增了用于 Cloudflare 博客的 MCP 服务器,以及另一个用于 EmDash 的 MCP 服务器,使得作者能够更方便地浏览、创建、编辑和定时发布内容。Reddit 用户 u/themistermeister 对此表示赞赏,认为 EmDash 在成本控制、AI 交互性和扩展性方面都优于 Ghost 等竞品。

尽管如此,Cloudflare 团队也承认在早期试用阶段遇到了一些问题,主要集中在编辑体验和定时发布功能上。这些问题已经被反馈给 EmDash 开发团队,预计将在后续版本中得到解决。目前,EmDash 正朝着 v1.0 版本推进,但尚未公布具体的发布时间。

总的来说,这次迁移不仅是对现有技术栈的一次升级,也是 Cloudflare 在内容管理和性能优化方面的一次重要探索。通过引入 EmDash,Cloudflare 不仅提升了自身博客的用户体验,也为其他开发者提供了一个高性能、可扩展的 CMS 解决方案。