用途:在 Cloudflare 边缘构建有状态、可协调的应用,创建或审查 Durable Objects 类、RPC 方法、告警、WebSocket 处理器,以及 wrangler 的 DO 绑定与迁移配置。
主要能力:面向协调(聊天室、多人游戏、协作文档)、强一致性(库存、预订、回合制游戏)、按实体存储(多租户 SaaS、每用户数据)、持久连接(WebSocket、实时通知)与按实体定时任务(订阅续订、游戏超时)。不建议用于无状态请求、最大全球分布或高扇出独立请求。
必要用法:参考文档入口包括 https://developers.cloudflare.com/durable-objects/ 、/api/、/best-practices/、/examples/。核心规则:围绕协调原子建模,每个聊天室/游戏/用户一个 DO;用 getByName() 做确定性路由;使用 SQLite 存储并在迁移中配置 new_sqlite_classes;仅在构造函数中用 blockConcurrencyWhile() 做 schema 初始化;RPC 方法而非 fetch()(兼容日期 >= 2024-04-03);先持久化再缓存;每个 DO 仅一个 alarm,setAlarm() 会替换已有。反模式包括单一全局 DO、每请求 blockConcurrencyWhile()、只存内存、相关写入间使用 await、跨 fetch/外部 I/O 持有 blockConcurrencyWhile()。测试用 @cloudflare/vitest-pool-workers。
限制:资料要求优先检索官方文档而非依赖预训练知识;未提供具体收费、平台限制或效果数据。