Skip to content

兼容性

open-compute 实现 Cloudflare Workers 中已支持的 API。已提供产品的 Worker 用法与 Cloudflare 文档一致。数据与进程位于单机:一个 ocd,一个锁定版本的 workerd

运行中的限额与版本信息:

sh
ocd --config /etc/open-compute/config.toml capabilities --json

--configcapabilities 可选。省略时,limits 来自内嵌默认配置;指定绝对路径时,反映该配置文件。

Worker 签名以 Workers runtime APIs 为准,索引见 API 参考。与托管环境的差异见行为差异。数字上限见限制

产品

产品Worker API数据 / 进程位置
Workers模块 Worker(fetch / scheduled / queue本机 workerd;不提供全球边缘网络
KVKVNamespace本机 SQLite;不提供全球复制
R2R2Bucket对象位于配置的 S3;不提供全球就近存放
D1D1Database本机一份 SQLite;不提供只读副本与按区域路由
Durable ObjectsDurableObject / DurableObjectNamespace本机单个 workerd 进程
Alarmsstate.storage.setAlarm本机调度
QueuesQueue 与消费者 queue本机 scheduler.sqlite;at-least-once,不提供全局 FIFO
CronscheduledUTC 五字段;错过触发后最多补最近一次
WorkflowsWorkflows API本机 SQLite;步骤回调在提交前可能重复执行
Cache APIcaches.default仅本机缓存
Workers Cache自动 HTTP 缓存本机;需要显式 s-maxage / max-age
Static Assetsassets 绑定随部署存放于本机使用的 S3;不是全球 CDN
Service BindingsFetcher同一平台内;不提供跨地区发现
Deployments版本、发布与回滚本机 SQLite;ocd 监督当前 workerd 进程
ImagesImages 绑定本机图像变换;不是托管 Cloudflare Images
Version Metadata部署的 id / tag / timestamp由本机本次部署生成
WebSocket hibernation可休眠 WebSocket本机 Durable Object 进程

D1 覆盖 database / session / prepared statement / result / meta、错误与 bind 转换、原子 batch,以及不透明 bookmark。通用 TCP 出站使用唯一的 public Network,以及开源 workerd 的 cloudflare:sockets / Node socket;命名 Service / DO 的 Fetcher.connect() 使用绑定声明的连接。

运行时

兼容日期由平台锁定,open-compute.json 不得设置 compatibilityDate 或 flags。以 runtime.effective_compatibility_date 为准。不要替换二进制旁的 workerd,也不要从 PATH 另行解析 runtime。

未提供的产品见不支持。运维可通过 ocd capabilities --json 查看运行中的二进制。