OpenWorkers 是什麼?用 Rust 與 V8 自架 Serverless Workers
如果你喜歡 Cloudflare Workers 的開發模型,卻希望掌握執行環境與資料層,OpenWorkers 是一個值得追蹤的開源選項。它讓 JavaScript/TypeScript 函式跑在 Rust 管理的 V8 Isolate 中,並提供 PostgreSQL、KV、物件儲存、Cron 與日誌等 bindings;截至 2026 年 7 月,官方服務仍標示為 public beta,適合研究、測試與自架評估,還不該被視為零風險的成熟替代品。
它不是一個 repo,而是一套平台
OpenWorkers GitHub 組織目前把系統拆成多個元件:openworkers-runner 負責執行工作、openworkers-runtime-v8 提供 V8 JavaScript runtime、openworkers-api 處理對外 API,另有 scheduler、logs、dashboard 與 PostgreSQL proxy。這種拆法的價值,是團隊可以只採用獨立 V8 runtime,也能部署完整平台,而不必把所有能力綁死在同一個服務裡。
真正有趣的是執行層
官方建議的 PINNED 模式會依 tenant 管理 thread-local isolate pool,每次請求建立新的 V8 context,重用 isolate 的 engine、heap 與 GC,降低初始化成本,同時避免 JavaScript 狀態直接跨請求殘留。需要更強隔離時,也可改用每次建立新 isolate 的 ONESHOT;runtime 另提供 pooling、code cache、streaming 與常用 Web APIs。
這讓 OpenWorkers 的定位不同於「換一家雲端函式供應商」:它更像一套可研究、可嵌入 Rust 應用,也可自行營運的 Workers 執行基礎。
適合誰?限制又在哪裡?
它適合想研究 V8 sandbox、多租戶執行、內部 Serverless 平台,或不希望核心 runtime 完全受單一雲端供應商控制的工程團隊。MIT 授權也降低了實驗門檻。
代價則很實際:完整自架需要 Rust、Bun、PostgreSQL 與 NATS,團隊還得自行承擔升級、監控、容量與安全隔離。官方雖以 Cloudflare Workers 相容為設計方向,但這不代表所有 API、全球節點與營運能力都能一比一取代。若只是部署幾個簡單 API,託管平台仍然省事;若你想理解 Workers 在底層如何運作,OpenWorkers 的價值就非常高。
「用 Rust 包一層執行環境,把原本託管在雲端的能力搬回自己機器上」這個模式最近並不孤單。Shimmy 用 Rust 把本機 LLM 包成 OpenAI 相容 API 走的是同一條路,只是換成推論層;更多同期的 Rust 專案可以看 2026 Q2 開源精選。共通點是把「可替換」看得比「最省事」重要。
真的要自架,本機得先扛得住 Rust 編譯加上 PostgreSQL 與 NATS 同時跑。桌面環境的週邊配置會直接影響開發迭代的順手程度,桌面 4 件套開發者基本盤這類清單可以當作整理工作環境時的參考。
(本文含蝦皮聯盟連結,透過連結購買不會增加你的成本,但能支持這個站繼續產出內容。)
Source
OpenWorkers GitHub 組織集中收錄 runtime、runner、API、scheduler 與平台服務;官方網站則提供 public beta 狀態與可執行範例。