📌 一句话摘要
本文详细介绍了如何使用新的模板将 Payload CMS 完全部署在 Cloudflare 的 Serverless 架构(Workers、D1、R2)上,从而带来显著的运营和性能优势。
📝 详细摘要
本文宣布了一个新的模板,该模板支持将流行的开源 CMS Payload 完全部署在 Cloudflare 的 Serverless 平台上。它强调了在 Cloudflare Workers 上运行 CMS 的好处,例如由于其“按使用付费”模式而降低的运营开销和成本效益,这与传统的基于服务器的 CMS 部署形成对比。技术部分深入探讨了如何使用 OpenNext 适配器。该适配器可以将最初的 Node/Express.js 应用程序 Payload 适配为在 Workers 上运行。解决的关键技术挑战包括通过自定义适配器将 Payload 与 Cloudflare D1(一种 Serverless 数据库)和 R2(兼容 S3 的对象存储)集成,从而克服了连接池等限制。本文还详细介绍了性能优化,特别是使用 Cloudflare Hyperdrive 进行 Postgres 连接以及使用 D1 的全局只读复制来显著降低延迟。文章展示了 Cloudflare TV 成功迁移到 Workers 上的 Payload,这是一个实际的应用案例,并简要提及了其他与 Workers 兼容的 CMS 项目,如 SonicJs 和 microfeed。
💡 主要观点
-
Payload CMS 在 Cloudflare Workers 上的 Serverless 部署
本文介绍了一个新的模板,该模板使功能完备的 Payload CMS 能够完全在 Cloudflare 的 Serverless 架构上运行。这无需始终在线的服务器,减少运营开销,并通过“按使用付费”模式优化成本。
-
与 Cloudflare 的数据服务(D1 和 R2)的无缝集成
Payload CMS 经过适配,可利用 Cloudflare D1 满足 Serverless 数据库需求,并利用 Cloudflare R2 满足兼容 S3 的对象存储需求。这主要通过自定义适配器来实现,这些适配器利用 Workers Bindings 进行直接的、无令牌的访问,从而确保原生和高效的交互。
-
通过 Hyperdrive 和 D1 只读副本实现的性能优化
通过使用 Cloudflare Hyperdrive 管理 Postgres 连接池和实施 D1 的全局只读复制,实现了显著的性能提升。全局只读复制在全球范围内分发读取操作,并将 P50 响应时间延迟降低了 60%。
-
OpenNext 适配器促进了 Next.js 在 Workers 上的集成
Cloudflare 的 OpenNext 适配器在将 Payload(现在支持 Next.js)移植到 Workers 上无缝运行方面发挥着关键作用,这证明了 Cloudflare 作为复杂应用程序的 Next.js 托管平台的能力日益增强。
-
Cloudflare TV 的真实场景验证
Cloudflare TV 是一个拥有庞大内容库的 24/7 视频平台,它是 Workers 上 Payload 的一个成功的试验平台,证明了其在高需求生产环境中的可扩展性、功能丰富性和稳健性。
💬 文章金句
- Cloudflare Workers 的优势之一是,您的应用程序和数据可以 24/7 全天候访问,而无需服务器始终运行。
- 通过在 Workers 上运行 Payload,您可以获得传统 CMS 的最佳功能——完全可配置的资产管理、自定义 Webhooks、社区插件库、版本历史——所有这些都以无服务器形态提供。
- 感谢此适配器,使用官方 OpenNext Get Started 指南将 Payload 移植到 OpenNext 相对简单。
- 因此,我们决定也为 R2 构建一个自定义存储适配器。这个非常简单,因为绑定机制已经处理了大部分工作。
- 经过这个简单的更改后,我们立即看到了延迟改进,当连接到位于北美东部的数据库时,来自全球的请求的 P50 响应时间降低了 60%。
📊 文章信息
AI 评分:92
来源:The Cloudflare Blog
作者:Jason Kincaid
分类:软件编程
语言:英文
阅读时间:8 分钟
字数:1871
标签:
Serverless, CMS, Cloudflare Workers, Cloudflare D1, Cloudflare R2