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 端点即可运行,无需外部数据库或复杂的编排层。

相关

  • 项目
  • 项目
  • 项目
  • 项目