elliothux/open-compute

Self-hosted Cloudflare Workers-compatible platform with KV, D1, R2, Durable Objects, Queues, and Workflows in one Rust binary.

解決的問題

open-compute 提供了一種無需依賴 Cloudflare 全球網路或 Kubernetes、Redis、服務網格等複雜基礎設施,即可在自有硬體上執行 Cloudflare Workers 的方法。它透過新增必要的控制平面、路由與狀態管理功能,將 workerd(開源執行時)轉換為一個完整的平台,真正實現 Workers 的部署與管理。

工作原理

此專案以單一基於 Rust 的二進位檔(ocd)形式交付,整合了執行時、排程器與控制 API。它使用 SQLite 儲存本地權威狀態,使用 S3 相容儲存進行物件儲存(封包與資源)。workerd 作為受監控的子程序運行,透過安全的環回通道進行通訊。部署是不可變且內容定位的,只需移動一個指標即可實現快速回滾與發布。

適用對象

希望獲得 Cloudflare Workers 開發體驗(相同的 API、繫結與工具鏈),但需要完全掌控自己的資料、機器與基礎設施,或需在完全離線環境中執行的開發者與運維人員。

主要亮點

  • 單一二進位部署:整個平台——執行時、控制平面與排程器——打包為一個可執行檔。
  • 高相容性:對 KV、D1、R2 和持久物件等服務,實現了超過 2,000 個穩定 API 成員,並與真實 Cloudflare 進行位元級驗證。
  • 高效率:利用 workerd 實現毫秒級冷啟動與 MB 級記憶體使用,使用安全的 Rust 編寫,確保熱路徑的高效性。
  • 零外部依賴:僅需資料目錄與 S3 端點即可運作,無需外部資料庫或複雜的編排層。

相關

  • 專案
  • 專案
  • 專案
  • 專案