Deno 加入 Cloudflare
内容提要
Cloudflare宣布Deno团队加入,共同简化Workers和Durable Objects的自托管。Deno创始人Ryan Dahl此前推出用Rust编写的celld,仅依赖对象存储,可分布式运行Workers与Durable Objects。Cloudflare的workerd虽已开源,但Durable Objects仅支持单实例。双方将合并celld与workerd,让开发者能在自有基础设施上轻松构建分布式应用。
延伸解读
自托管 Durable Objects 的现状与挑战
文章指出,Cloudflare 的 workerd 虽已开源,但其 Durable Objects 支持仅限于单实例,适合本地测试但无法扩展。生产环境的 Durable Objects 路由实现复杂,依赖多个外部服务,不适合自托管。Deno 的 celld 则专为自托管设计,仅依赖对象存储,可分布式运行 Workers 与 Durable Objects。双方合并后,将把 celld 的分布式能力引入 workerd,使开发者能在自有基础设施上运行可扩展的 Durable Objects。
合并 celld 与 workerd 的技术路径
根据文章,Ryan Dahl 和 Bert Belder 将领导新项目,把 celld 的代码和理念合并回 workerd,目标是让 workerd 的自托管成为一等公民。celld 用 Rust 编写,仅依赖对象存储,可运行多个实例并共享一个存储桶,实现分布式应用。合并后,开发者将能使用与 Cloudflare 相同的 Workers 编程模型,在自有基础设施上构建分布式应用,而无需依赖 Cloudflare 的全球网络。
对开发者的实际影响
文章强调,这一合并旨在让开发者能在更多地方使用相同的原语。对于担心供应商锁定的开发者,celld 和 workerd 的开源与自托管能力提供了迁移路径。Cloudflare 也承认,开源和提供逃生舱口是良好的商业策略。未来,开发者可以自托管 celld 或 workerd,并期待更多公告。这可能会降低构建分布式应用的门槛,尤其是需要实时协作和分布式状态的应用。
Q&A
Deno 团队加入 Cloudflare 后,主要目标是什么?
Deno 团队加入 Cloudflare 的主要目标是大幅简化 Workers 和 Durable Objects 的自托管,让开发者能在自有基础设施上使用相同的编程原语构建分布式应用。
celld 是什么?它有什么特点?
celld 是 Ryan Dahl 用 Rust 编写的项目,旨在分布式运行 Workers 和 Durable Objects。它只有一个二进制文件,唯一的外部服务依赖是对象存储,可以运行多个实例来构建分布式应用。
workerd 在自托管方面存在什么主要限制?
workerd 虽然已经开源,但其 Durable Objects 支持仅限于单实例,适合本地测试但无法扩展。生产环境的 Durable Objects 路由实现依赖大量外部服务,不适合自托管。
Cloudflare 为什么对 Deno 团队发布 celld 感到高兴?
因为 celld 是一个与 Cloudflare 自己的 Workers 和 Durable Objects 完全兼容的实现,同时专注于可自托管和可扩展。这正是 Cloudflare 一直想构建但未能实现的,而 Deno 团队帮他们完成了。
Cloudflare 开源 workerd 的原因是什么?
Cloudflare 开源 workerd 是因为大型客户(如 Shopify)明确表示,除非 Workers 运行时开源,否则他们无法在其上构建。开源提供了逃生通道,有助于业务,即使有客户迁移走,也有更多客户留下。
celld 和 workerd 将如何整合?
Ryan Dahl 和 Bert Belder 将领导一项新工作,把 celld 的代码和理念合并回 workerd,使 workerd 的自托管成为使用 Workers 编程模型构建和运行应用的一流支持方式。