Cloudflare Durable Objects 入门

使用 Cloudflare Durable Objects 构建协调式有状态应用,涵盖稳定身份、SQLite 持久化、闹钟、并发和实时 WebSocket。

Cloudflare

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

构建保持一致共享状态的计数器、房间和预约。Durable Objects 为每个命名实体提供稳定协调点、串行执行和自有 SQLite-backed 存储。

课程包含 7 个引导实验和 1 个独立预约修复挑战,从命名对象和持久活动进入并发、alarms 与 WebSocket 行为。

你将学到什么

  • 把稳定名称路由到独立对象
  • 持久化并读取房间活动
  • 协调并发预约,避免超额预订
  • 通过对象 alarms 安排过期
  • 通过 WebSocket 广播房间更新
  • 在对象重建后恢复连接上下文
  • 诊断跨房间身份泄漏
  • 修复超额预订的工作坊,并保留有效预约和总量

适合人群

适合希望协调有状态应用和实时客户端的 Workers 开发者。

先修要求: 完成 Workers 基础、将 LabEx 连接到你的 Cloudflare 账户,以及 D1 D01–D02 中的 SQL 键、约束和查询基础。

学习环境: 每个实验使用全新 LabEx VM,并单独授权自己的账户。创建名称唯一的 Workers 和 SQLite-backed object namespaces,检查实际运行和 Dashboard 证据。有限的示例练习使用 Workers Free 并计入共享额度,无需购买域名。

常见问题

Durable Object 与普通 Worker 有什么不同?

Worker 可以路由请求,命名对象拥有房间等实体的协调点与持久状态。因此名称和路由会影响隔离。

会测试并发行为吗?

会。预约实验在并发请求下检查容量和持久总量。正确性取决于不变量,而不是哪条请求恰好先到。

WebSocket 断开会丢失状态吗?

课程区分客户端连接与对象持久状态,并在重建后恢复连接上下文。检查实际行为,不凭空假定空闲期能证明什么。

怎样结束练习?

只删除自己的临时 Workers 与相关 namespaces,在授权有效时确认删除,再退出登录。保留无关应用和账户资源。

教师

labby
Labby
Labby is the LabEx teacher.