你是否曾为构建高可用、强一致、又易于扩展的后端状态服务而头疼?Cloudflare 的 Durable Objects(持久化对象)提供了一种优雅的编程模型——每个对象独立生命周期、自动分片、强一致性,但只能运行在 Cloudflare 边缘网络中。Celld 正是为此而生:它是一个开源、可自托管、分布式部署的 Durable Objects 运行时,让你把这套强大范式“搬回家”,完全掌控基础设施,不绑定任何云服务商。
核心功能
- 完全自托管:无需 Cloudflare 账户或网络,所有代码与状态运行在你自己的 Linux 服务器、Kubernetes 集群甚至树莓派上
- 分布式无协调架构:节点间仅通过你配置的 S3 兼容存储(如 MinIO、AWS S3、腾讯云 COS)同步状态,无需 ZooKeeper、etcd 或 Raft 共识协议
- 每个对象即一个 SQLite 数据库:天然隔离、零跨对象争用;单个对象故障不影响其他对象,彻底规避“单一大数据库”的爆炸半径问题
- 智能休眠与秒级唤醒:空闲对象自动持久化并释放内存/CPU,请求到来时从 S3 快速恢复,资源利用率极高
- 原生兼容 Workers 生态:支持标准 Wrangler 构建的 Worker Bundle,已有 Cloudflare Worker 项目几乎无需修改即可迁移
- 端到端可验证安全交付:安装脚本使用 GitHub Attestations 签名,二进制文件来源可审计,杜绝供应链投毒风险
适合哪些人用
如果你是以下角色之一,Celld 值得立刻关注:
• 中小团队后端工程师:想快速搭建带状态的实时应用(如聊天室、协作文档、游戏房间),但不愿被云厂商锁定或承担高昂边缘计算费用;
• 私有云/混合云运维人员:已有企业级对象存储(如 Ceph+S3 网关、MinIO 集群),希望复用现有设施构建现代化无状态+状态混合架构;
• 开发者工具创业者:需要为 SaaS 产品提供“每个租户一个隔离状态单元”的能力,Celld 提供开箱即用的多租户隔离基座;
• 边缘计算布道者:在工厂、门店、车载等弱网环境中部署轻量级状态服务,Celld 单节点即可启动,对硬件要求极低。
快速上手
只需两步,5 分钟内跑起第一个持久化对象:
- 一键安装:在 Linux 服务器执行
curl -fsSL https://celld.dev/install.sh | sh
安装器会将二进制文件放入~/.local/bin,按提示将该路径加入$PATH - 启动服务:准备一个 S3 兼容存储桶(如 MinIO),然后运行
celld start --s3-endpoint https://your-minio:9000 --s3-bucket celld-state --s3-access-key xxx --s3-secret-key yyy - 部署 Worker:用 Wrangler 创建标准 Worker 项目,在
wrangler.toml中指定compatibility_date = "2024-06-01"并启用 Durable Objects,执行wrangler deploy即可自动发布到本地 Celld 集群
项目信息
denoland/celld
GitHub
self-hosted, distributed Durable Objects
Rust|2455 ⭐|Apache-2.0 开源协议|GitHub 项目地址
对于追求技术自主、重视数据主权、又渴望现代云原生开发体验的团队来说,Celld 不仅是一套工具,更是打破平台锁定、回归工程本质的关键拼图。


