Cloudflare 全栈 2026:Containers + DO Facets + Hyperdrive VPC + Realtime
影响力:Cloudflare 把 “Worker / DO / Container / DB / Vector / Realtime” 凑齐成完整 AI 应用平台;2026 是它对 Vercel 的总攻年。 干活密度:🟢 干活级 关键时间:Hyperdrive VPC(2026-04-29)/ HTMLRewriter streaming(2026-01-31)/ Cloudflare Sandboxes GA(2026-04)
🔥 影响力卡片
- Cloudflare Containers GA + Sandboxes GA(Agents Week 2026)
- Hyperdrive 加 MySQL + Workers VPC(2026-04-29):同 VPC 服务可同时绑给 Hyperdrive 和 Workers,共享私有连接
- HTMLRewriter streaming(2026-01-31):
replace/append/prepend接受Response/ReadableStream—— 真正的 streaming ESI - Realtime + RealtimeKit:SFU + STUN + TURN + 客户端 SDK(Web/iOS/Android/RN/Flutter)+ Anycast 330+ POP,~50ms P95
- Durable Object Facets:每个 DO 自带嵌入式 SQLite,Facets 让动态加载的子代码各自拥有独立 SQLite —— “每个 AI 生成的 app 一个数据库”
🎯 为什么必读
如果你做的是 AI 应用 / Agent 后端 / 多租户 SaaS,2026 你有两个完整平台可选:Vercel(Fluid Compute + Active CPU)或 Cloudflare 全栈(本篇)。
Cloudflare 这一年补齐了 Workers 之外缺失的关键拼图:Container 跑非 V8 isolate 能跑的语言/二进制(ffmpeg、Playwright、Python ML),Hyperdrive 让 Workers 直连私网 RDS/Aurora,HTMLRewriter streaming 让 Worker 真正能做 ESI,Realtime 把视频会议平台直接 colocated 到 Worker/DO。
一句话总结
2026 Cloudflare 不是 CDN,是”贴用户 + 多租户 + 状态绑 actor + 私网直连 + 实时通信”的完整 AI 平台。
💎 金句墙
★ “Worker → Durable Object → Container.” “Worker → 持久对象 → 容器。” —— Cloudflare 官方推架构。译者点评:这是 CF 与 Vercel/Fly 最大差异 —— 三层链路,每层职责清晰。Worker 跑短任务、DO 跑有状态 actor、Container 跑非 V8 二进制(ffmpeg/Playwright/Python ML)。Region:Earth 自动选址
★ “Each AI-generated app gets its own SQLite.” “每个 AI 生成的 app 拿到自己的 SQLite。” —— DO Facets 用例。译者点评:这是 Lovable / v0 / Bolt 这类”prompt-to-app”产品的关键基础设施 —— 给 N 万个 user 各起一个隔离单元,DO Facets 用 facet 维度做到了
📋 核心精读
1. Workers Smart Placement(2026)
# wrangler.toml
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2026-04-01"
placement = { mode = "smart" }
🟢 译者点评:Smart Placement 不再要求手工调 mode;CF 自动评估”贴用户还是贴后端”。AI / 第三方 API 重的应用自动贴后端;静态/缓存场景自动贴用户。
2. Durable Objects + Facets(动态多租户)
// 每个 DO 自带 SQLite
export class UserApp implements DurableObject {
state: DurableObjectState;
constructor(state: DurableObjectState, env: Env) {
this.state = state;
// state.storage 提供 SQLite,查询近似 0 延迟(同进程)
}
async fetch(req: Request) {
const result = this.state.storage.sql.exec("SELECT * FROM users").toArray();
return Response.json(result);
}
}
// Facets:动态加载的子代码各自拥有独立 SQLite
const facet = await this.state.facets.get(`tenant-${tenantId}`);
const subResult = await facet.fetch(req);
🟢 译者点评:演进路径:DO=单实例 actor → DO=多 facet 容器。给 AI 应用生成器(Lovable / Bolt / v0)用是杀手级 — 每个 user 生成的 app 一个 facet,各自一个 SQLite,完全隔离。
3. Containers(GA)
# wrangler.toml
[[containers]]
class_name = "MyContainer"
image = "./Dockerfile"
max_instances = 5
[[durable_objects.bindings]]
class_name = "MyContainer"
name = "MY_CONTAINER"
[[migrations]]
new_sqlite_classes = ["MyContainer"]
tag = "v1"
🟢 译者点评:通过 DO 触发 + sleepAfterConfiguration 自动休眠。请求链路 Worker → DO → Container,Region:Earth 自动选址。但目前缺持久卷、原生 autoscaling、GPU(用 DO KV/SQLite 做持久化)。
Cloudflare Containers vs Fly Machines 选型口诀:
- “贴用户 + 多租户 + 状态绑 actor” → CF
- “完整 Linux + 持久数据 + GPU” → Fly
4. Hyperdrive VPC(2026-04-29 重磅)
compatibility_date = "2026-05-01"
compatibility_flags = ["nodejs_compat"]
[[hyperdrive]]
binding = "HYPERDRIVE"
id = "<hyperdrive-id>"
// Worker 内
import { Client } from 'pg';
const client = new Client({ connectionString: env.HYPERDRIVE.connectionString });
await client.connect();
// 走 Hyperdrive 全球连接池 + 查询缓存,RTT 大幅降低
最低驱动版本:pg ≥ 8.16.3 / postgres-js ≥ 3.4.5
🟢 译者点评:Workers VPC 让你不必把 DB 暴露到公网。同 VPC 服务可同时绑给 Hyperdrive 和 Workers,共享私有连接。这是企业级用 Workers 的最大门槛被解决。已扩到 MySQL(2026-04-29 之前只 Postgres)。
5. HTMLRewriter Streaming(2026-01-31)
new HTMLRewriter()
.on('div#content', {
element(el) {
// 关键:replace 接受 Response 和 ReadableStream
el.replace(upstream.body, { html: true });
}
})
.transform(response);
🟢 译者点评:replace / append / prepend 现接受 Response 和 ReadableStream —— 真正的 streaming ESI。把静态 shell 缓存在 CDN,Worker 里把”用户特定”的片段(购物车、推荐)流式注入。Akamai ESI 同等效果但写 JS。
6. Realtime + RealtimeKit
// Cloudflare Realtime SFU
import { realtimeService } from 'cloudflare-realtime';
const room = await realtimeService.createRoom();
const participant = await room.join({
audio: true,
video: { resolution: '1080p' }
});
// 服务端:转写 / 录制 / 协调
realtimeService.onSpeech((text) => {
// LLM 处理
});
🟢 译者点评:SFU 直接挂在 Workers/DO 上,与同一应用的鉴权、状态共享同一 runtime —— 这是和 Daily / LiveKit / Agora 最大差异。AI 实时陪聊场景:LLM + STT + TTS 在边缘拼接,~50ms P95 延迟。
7. Workers AI + Vectorize(RAG 闭环)
[[vectorize]]
binding = "VEC"
index_name = "embeddings"
[ai]
binding = "AI"
// 同一 Worker:embed → upsert → query
const embedding = await env.AI.run('@cf/baai/bge-base-en-v1.5', { text: doc });
await env.VEC.upsert([{ id, values: embedding.data[0] }]);
const matches = await env.VEC.query(queryEmbedding, { topK: 5 });
🟢 译者点评:全球分布式向量库 + 内嵌模型,无第三方 API。低规模成本远低于 Pinecone。
8. 横向对比表
| 维度 | Vercel Fluid Compute | Cloudflare 全栈 | Fly Machines |
|---|---|---|---|
| 模型 | 多 invocation 共享 instance | Worker → DO → Container | Firecracker microVM |
| 计费亮点 | Active CPU($0.128/vCPU·h) | Workers 请求 / DO duration / Container hours | machine-hours |
| 持久存储 | 外接 | DO SQLite + KV + R2 | Fly Volumes |
| 状态 | 短(单 invocation 内) | 强(DO actor) | 强(VM 持久) |
| GPU | 无原生 | 无 | 有 |
| 全球部署 | Edge 自动 | Anycast 自动 | 显式 region |
| 实时通信 | 无原生 | RealtimeKit ⭐ | 自托管 |
| AI 推理 | AI Gateway | Workers AI 内嵌 | 自托管 |
🟢 译者总评
- AI / Agent / 多租户首选 CF 全栈:DO Facets + Containers + Hyperdrive VPC + Workers AI + Realtime 一栈打通
- 传统 Next.js 项目仍 Vercel 顺手:Fluid Compute + Active CPU 对 I/O bound AI 后端账单降 80-95%
- 关键升级:Hyperdrive 加 MySQL + Workers VPC(2026-04-29)解决了”私网 DB 暴露到公网”这一企业级门槛
- 必学的 API:HTMLRewriter streaming(把 ESI 写成 JS)+ DO Facets(多租户隔离)
- 不适合 CF:GPU 推理 / 大模型自托管 / 完整 Linux 持久应用 —— 走 Fly Machines 或 AWS
- 配套读:Next.js 16 的 Cache Components 在 Vercel 部署最顺;MCP 协议 的 server 可以部署到 Workers
🔗 调研来源
- Cloudflare Workers Smart Placement
- Cloudflare Containers docs
- Cloudflare Containers coming June 2025
- Cloudflare Durable Objects docs
- Durable Object Facets blog
- Cloudflare Hyperdrive docs
- Hyperdrive VPC private databases changelog (2026-04-29)
- Cloudflare HTMLRewriter docs
- HTMLRewriter streaming changelog (2026-01-31)
- Introducing Cloudflare Realtime and RealtimeKit
- Cloudflare Vectorize docs
- Building the agentic cloud — Agents Week 2026