OC
Wire 迁离 Cloudflare Durable Objects,性能变快只是故事的一半
科技 · 2026-07-10 · 云计算与架构 · 阅读 5

Wire 迁离 Cloudflare Durable Objects,性能变快只是故事的一半

作者:林岚|OC 技术编辑

作者 林岚 林岚

Wire 工程博客,这家为 AI 代理提供“上下文容器”的公司,正在把核心数据平面从 Cloudflare Durable Objects 迁到基于 Fly Machines、Bun、SQLite 和 sqlite-vec 的自建运行时。迁移后,热调用从约 0.4 秒且偶有 2 秒以上尖峰,变为约 0.3 秒;空闲容器恢复时间从 3.7 秒降至 1.4 秒。

一句话结论:Wire 不是因为 Durable Objects 不可靠才离开,而是它需要向量索引与数据同进程、计算靠近数据、租户级隔离和私有部署;代价是原来平台免费提供的一致性与持久化,现在都要自己重新实现。

Wire 的一个容器保存处理后的知识、embedding、来源关系图,并通过 MCP 提供查询。过去每个容器就是一个 Durable Object。这个模型很适合大量小型、长时间空闲的有状态单元:创建快、单写者一致性清楚、存储自动复制,开发团队不必自己管理机器。

问题出在向量检索。embedding 放在独立的 Cloudflare Vectorize 服务里,查询最热路径多一次网络跳转,也多一份可能发生偏差的状态。Durable Objects 内置 SQLite 又不能加载扩展,sqlite-vec 无法直接放进去。检索、融合、扩展和 rerank 只好散在多个服务之间,代理每次工具调用都要承担延迟波动。

托管Durable Objects与自建数据平面的取舍

新架构给每个组织分配一个 Bun 主进程,容器变成带内嵌向量索引的 SQLite 文件,候选检索在进程内完成;模型调用、query embedding 和 rerank 仍然使用外部推理服务。快照进入对象存储,区域路由器把容器放到调用者附近,付费租户还可以获得独立进程和机器。

这些收益并非没有水分。Wire 很坦率地说,recall@5 从 78.1% 提高到 89.1%,不全是新架构的功劳,因为迁移时也更换了 embedding 模型。3.7 秒的旧恢复时间也不是 Durable Objects 自身冷启动,Cloudflare isolate 通常毫秒级唤醒,慢的是 Wire 自己的软件栈重建。

更关键的代价发生在持久化。Durable Objects 会在确认写入前复制存储;Wire 第一版自建运行时只保证“下次 checkpoint 后持久”,压力测试杀掉机器时,已经向客户端确认的少量写入会丢失。团队最后增加持续 WAL 传输:只有日志帧进入对象存储后才确认,group commit 把额外延迟控制在约 100 毫秒。

所以这不是一篇“逃离 Cloudflare”的胜利宣言。Wire 的 API、前端、控制平面和处理流程仍留在 Workers。它甚至明确建议:如果你不需要索引同置、位置迁移、独立租户和自托管,就继续使用 Durable Objects。平台抽象并没有失败,只是产品需求越过了抽象边界。

关键事实

  • Wire 只迁移核心容器数据平面,其他大量服务仍运行在 Cloudflare。
  • 新架构使用 Fly Machines、Bun、SQLite 与内嵌 sqlite-vec
  • 热调用约 0.3 秒,空闲恢复约 1.4 秒;旧值分别约 0.4 秒和 3.7 秒。
  • 检索提升同时受到 embedding 模型更换影响,不能全部归因于架构。
  • 自建后必须通过持续 WAL 传输重新获得已确认写入的持久性。

OC 判断

这是一次成熟的“什么时候该离开托管平台”案例:不是账单一贵就重写,也不是看到 benchmark 变快就宣布胜利,而是确认产品需要的平台能力确实无法获得,并承认迁移后买回了哪些复杂性。

为什么重要

  • 开发者:架构 benchmark 必须控制模型、数据和算法变量,否则性能结论会混入其他改动。
  • 企业:自托管和租户隔离可能迫使产品拥有数据平面,但一致性、备份和故障恢复成本也随之转移。
  • 用户:服务迁移后接口可以完全不变,真正变化的是数据落在哪里、故障时能否恢复。

参考来源

相关阅读

基于标题、摘要和正文内容自动匹配。

更多科技

评论

围绕这篇文章补充信息、提出问题或分享观察。

0
暂无评论。

发表评论

继续看看 OC 用户围绕这个话题说了什么、做了什么。

相关帖子

更多

你们的Codex额度提前耗完了没?戒断反应如何?

<p>我在第三天就消耗了只剩1%,忍了一天,然后今天干脆用这最后的1%,开着5.6 Sol 极高 强推我一个提示词笔记本应用的功能落地。最终用时3小时,居然还是跑完了。但是现在还是出现一些戒断反应,感觉啥也做不了,就无精打采的,困。</p> <p>我做了一个Prompt Notebook,专门用来收藏或者记录自己手搓的生图提示词。带Chrome一键收藏插件。支持AI优化提示词。支持提示词中提取常用字段作为提示词百科词汇。也自带生图功能用来测提示词。但是要搭配Cloudflare R2+Worker的图床。</p> <p>今天主要是做一个AI模特的资产库。将常用的AI模特固定下来,进行身份设定,以及模特的一些角色定妆图。之后生图可以直接调用AI模特自动作为垫图。</p> <p>这是AI模特资产库的界面: <img src="/upload/thread/202608/42b5f73e-938f-45de-b74e-da69da9d72a8.webp" alt="1bb0d28b-c7dd-4327-bafa-26b60323cbed" /> 这是主界面的提示词瀑布流,支持关键词或标签搜索: <img src="/upload/thread/202608/3e15b6e7-345f-48b4-aeff-1bbd89afe9d3.webp" alt="ab998e2f-9ccc-4173-832f-223aa6c6fa81" /> 这是提示词笔记的预览界面,可以复制提示词,分享提示词,点击分享还有分享短链:(https://prompt.jintao.co.uk/share/20260806LfsmY) <img src="/upload/thread/202608/bab31972-0468-4582-b873-6309233254a6.webp" alt="20260806-201213" /> 可惜现在没额度了,我又不想换模型折腾。现在还有些界面细节和小功能需要落地完善,可能还要虫子要抓。弄好了,打算放GitHub开源。</p> <p>有朋友想试试的么?</p>

shynloc 2 4