Deno被Cloudflare收购:恐龙灭绝,还是新生?

Deno团队携自托管项目Cell D加入Cloudflare,独立运行时时代落幕。
文章梳理了Deno从"反Node"理想到被Cloudflare收购的历程。Ryan Dahl因不满Node的包管理与安全模型而创立Deno,但近年约半数提交用于Node兼容,背离初衷。2026年8月他发布开源项目Cell D,复刻Cloudflare技术栈并支持持久对象与Workers自托管;两个月后Deno团队整体加入Cloudflare,Cell D成为交易核心。文章指出这并非消灭竞争,而是补上Cloudflare生态缺失的自托管路径。Deno运行时将维护一年后停止开发,Deno Deploy付费服务六个月后关停并支持迁移。社区情绪失落,但官方强调双向迁移与技术延续。
Deno的结局出乎很多人意料。这个由Node.js之父Ryan Dahl打造的"反Node"运行时,最终没有成为他理想中的模样。据YouTube频道分析,2026年8月Ryan推出开源项目Cell D,两个月后Deno团队整体加入Cloudflare,Cell D成为这笔收购的核心。Hacker News上"RIP Deno"的哀叹此起彼伏,但这个故事远比"大厂收购后关停"复杂。
一个"反Node"项目的宿命
2018年,Ryan Dahl发表了著名的"10件后悔创建Node.js的事"演讲,直指包管理和安全模型的缺陷。Node的post-compile脚本拥有机器完全访问权限,这让蠕虫式安全事件层出不穷。他当时的结论很决绝:不能与Node兼容,否则"你只是在重新构建Node"。

Deno由此诞生,试图从零修复所有问题。但现实是,过去一年Deno约50%的提交和近半数代码行都在做Node兼容。据视频作者观察,Ryan的愿景从"更好的运行时"逐渐滑向"另一个Node",而这恰恰是他当年极力避免的结局。
Node.js的post-install脚本问题源于npm允许包在安装时执行任意代码。由于npm默认以当前用户权限运行,恶意包可以读取环境变量、窃取凭证,甚至横向感染其他项目,形成供应链蠕虫(如2018年的event-stream事件)。Ryan Dahl的批评直指这一设计:包的安装与执行权限没有被沙箱隔离,安全边界完全依赖开发者审慎。Deno的应对是默认不执行任意代码、显式权限声明(--allow-net、--allow-read等),并把依赖锁定在URL或完整性哈希上。但生态兼容压力迫使Deno后来重新引入npm支持与node_modules,这本身就是在向既有安全模型妥协。
Cell D:两个月完成的技术闭环
2026年8月,Ryan发布Cell D——一个自托管的分布式持久对象与Workers实现。它几乎复刻了Cloudflare的技术栈:V8引擎、S3兼容存储、SQLite、R2、持久对象,甚至实验性容器,全部以Apache 2.0许可开源,并附带了与Cloudflare的成本对比。

关键转折发生在10月9日:Ryan宣布Deno团队加入Cloudflare。视频作者指出,这不是"收购竞品后雪藏"的套路。Cloudflare此前没有让用户脱离其平台自托管的路径,一旦使用持久对象,迁移成本极高。Cell D的出现恰好补上了这块短板。
持久对象到底解决了什么问题
持久对象(Durable Objects)这个名字被视频作者吐槽为"史上最差命名",但技术价值极高。按Ryan的描述,它就像一个可寻址的小型服务器:自带SQLite数据库,单线程执行(易于推理),支持WebSocket,数据可同步访问。闲置时自动休眠,有请求时恢复运行。
聊天室是最直观的例子——每个房间对应一个持久对象,保存消息历史和在线成员,多人同时连接即可获得实时推送。这种架构对协作类应用极为友好,也解释了为什么Ryan从2022年起反复提及它。
单线程执行是持久对象的关键设计约束。传统无状态函数(如Workers)每次请求可能落在不同实例上,状态必须外置到数据库或缓存,带来一致性难题;而持久对象为每个键固定一个实例,所有请求串行进入同一线程,天然避免了并发写冲突,开发者无需处理锁或事务竞态。代价是吞吐受限于单实例,扩展依赖将数据分片到大量对象。自动休眠机制则通过将空闲对象的状态持久化到存储、释放内存来降低成本,请求到达时再恢复,因此适合长尾的、按租户或房间划分的状态场景。
社区情绪与官方叙事的错位
Deno官方声明:运行时将继续维护一年(含每月bug修复和安全更新),之后停止开发但保持开源;Deno Deploy付费服务运行六个月后关停,并为付费用户提供迁移至Cloudflare Workers的支持。
社区情绪集中在"恐龙再次灭绝"的失落感上。部分评论认为这就是云厂商消灭竞争的常规操作。但Cloudflare Workers架构师Kenton Varda公开回应称,Deno团队发布Cell D时他们"非常高兴"——因为自托管需求终于有了官方之外的答案,用户可以从Cell D无缝迁移到Workers,反之亦然。

视频作者的态度很明确:他从未使用Deno,一直是Bun用户。在他看来,多数开发者想要的不是"不同的Node",而是"更好的Node",Bun满足了这个需求,而Deno的定位始终尴尬。
供应商锁定(vendor lock-in)指用户深度依赖某平台专有API后,迁移成本高到难以更换供应商。Cloudflare Workers的持久对象此前只能在Cloudflare网络上运行,本地开发依赖模拟器,无法真正自托管,这被批评者视为锁定风险的典型。Cell D以Apache 2.0提供可自部署的兼容实现,等于给用户一条退出路径:应用可以先用Cell D在自有服务器运行,规模扩大后再迁到Workers,或反向迁回。这种双向可迁移性在商业上削弱了锁定指控,也让Cloudflare能以"开放生态"叙事回应反垄断质疑。
这笔交易的真实逻辑
从商业角度看,这笔收购对双方都成立。Deno需要找到一个能延续其技术理想的归宿,Cloudflare则需要证明其生态不是封闭花园。Cell D开源后,开发者可以先在本地或自有服务器上构建,规模扩大后再选择迁移到Workers——这种"先自托管、后上云"的路径降低了采用门槛,也回应了长期以来的供应商锁定质疑。

对Ryan Dahl个人而言,这或许是理想的收尾:他不必再纠结于让Deno成为"更好的Node",而是直接参与构建他真正认可的计算抽象。视频作者对此的评价相当直白——"我为他感到兴奋"。Deno作为独立项目的时代结束了,但它未竟的目标可能以另一种形式延续下去。
相关推荐

WorkBuddy全流程教程:从零搭建AI办公自动化智能体
WorkBuddy 全流程教程精讲:从下载安装、三种工作模式到多模态绘本视频实战,再到专家团搭建智能体与工作流配置,帮你用低成本 AI Agent 实现办公自动化。

WorkBuddy智能体全攻略:7天从入门到自动化实战
基于B站256集WorkBuddy全套精讲课程,系统拆解腾讯AI办公工作台的核心能力:Agent原理、Skill封装、连接器跨平台、定时自动化、知识库与零代码开发,附学习路径建议。

8个AI账号翻车7个:我用AI干活的真实复盘
B站8个AI运营账号仅1个跑通。本文拆解"演AI"与"用AI干活"的本质区别,分析5条视频217万播放背后的产能控制、评论区运营和交付节奏策略。