使用 Cloudflare Durable Objects 是在边缘实现有状态应用的关键。传统的 Cloudflare Workers 是无状态的,意味着每次请求都是独立的,Worker 本身不存储跨请求的持久化数据。Durable Objects 改变了这一点,它为每个“对象实例”提供了强一致性的、持久化的存储,并且代码(Worker 逻辑)与该存储紧密结合。
可以把 Durable Object 理解为一个具有持久化状态的、可寻址的 Actor(类似于 Actor 模型中的概念)。每个 Durable Object 实例都有一个唯一的 ID,并且在任何给定时间,该 ID 只会激活在一个地方,确保了对该对象状态的访问是单线程的、串行的,从而避免了并发冲突。