自托管 Cloudflare Durable Objects 替代方案
celld 是一个用 Rust 编写的开源守护进程,可在自有机器上运行 Cloudflare Workers 和 Durable Objects,每个对象即独立 SQLite 数据库,通过 S3 实现无控制平面的分布式协调。对不想被 Cloudflare 平台锁定、或需要数据主权合规的团队,这是目前最接近生产级的自托管路径。
self-hosted, distributed Durable Objects
Cloudflare Durable Objects 的 vendor lock-in 一直是边缘计算领域的老大难问题,之前社区要么用 Fly.io 的 Machines 做近似替代,要么干脆放弃状态亲和性回退到传统数据库。celld 的狠招在于完全抛弃共识协议,把协调复杂度降维到 S3 最终一致性,这让它在节点数膨胀时不会像 etcd/ZooKeeper 方案那样出现协调瓶颈。
但真正的赌注是"每个对象一个 SQLite"的架构选择:这彻底消灭了多租户数据库的 noisy neighbor 问题,代价是跨对象事务不可能实现。如果你的业务强依赖 ACID 跨表事务,这个模型会直接劝退;但如果是会话状态、游戏房间、协作文档这类天然分片的场景,celld 的 hibernate 机制能把闲置成本压到接近零,这是 Cloudflare 原生计费模型做不到的。
建议两类人优先评估:一是正在 Workers 上跑但被 egress 费用或合规要求逼退的团队,二是在 Kubernetes 上自搭边缘节点、受够了 StatefulSet 运维复杂度的基础设施工程师。
Cloudflare Durable Objects 的开源自托管替代方案,填补边缘计算数据主权合规空白
独特价值:唯一生产级自托管 Durable Objects,对象级 SQLite + S3 无控制平面架构