什么时候该用 Queues,而不是 waitUntil 或 Workflows?
请求之后的异步工作需要持久缓冲时用 Queues;要顺序用 Durable Objects,要多步长流程用 Workflows。这篇讲清各自的边界。
一个问题一篇:KV 的限额、D1 的迁移、R2 的预签名上传、Durable Objects 的 alarm……从 Cloudflare 教程里拆出的单点问答。(共 33 篇)
请求之后的异步工作需要持久缓冲时用 Queues;要顺序用 Durable Objects,要多步长流程用 Workflows。这篇讲清各自的边界。
上传 200 MB 视频不该经过 Worker。用预签名 URL 让浏览器直传 R2,并了解它的限制、CORS 陷阱和分片上传规则。
R2 公开读取有 r2.dev 和自定义域名两种方式,差别很大。讲清 r2.dev 能不能上生产,以及开缓存后为什么会读到旧内容。
真实系统很少只用一个存储。这篇讲组合的唯一原则:每份数据只有一个权威来源,以及一条从 D1 加 R2 起步的演进路径。
最终一致和强一致不是形容词,而是对你代码的约束。这篇讲怎么判断一份数据能不能放进 KV,以及写入热点为什么会把你推向 Durable Objects。
在 Workers 模块顶层放个 Map 或计数器,本地跑得好好的。这篇讲清全局变量为什么只是可丢失的缓存,以及模块顶层为什么不能做 I/O。
nodejs_compat 让一部分 Node API 可用,但它是子集,还有能 import 却不能工作的 stub。这篇讲清它的边界,以及兼容性日期如何影响是否需要这个标志。
某一步出错了,不想让用户重新下单。这篇讲实例的状态与运维方法,restart 带参数与不带参数的区别,以及重启复用缓存带来的一个坑。
Workflows 的步骤名是缓存键,步骤外的代码恢复时可能重跑,返回值有 1 MiB 上限。这篇列出编写时必须遵守的规则,以及最容易踩的几个坑。
多步骤流程该用 Workflows 还是 Queues?这篇讲两者的核心差别是谁持有流程状态,以及怎样用 Queues 接入、用确定的实例 ID 做免费去重。
wrangler dev 默认在本机用本地模拟跑 Worker,绑定也是模拟的。这篇讲清本地、remote 绑定和 --remote 的区别,以及 .dev.vars 与 .env 的优先级。
wrangler 的 env 里 name、main 等字段可继承,绑定类字段不可继承,漏写的绑定在运行时才变成 undefined。这篇讲清规则、症状和 deploy 时的默认行为。
在 Worker 代码里 vars 和 secrets 都是 env.X,区别只在可见性。这篇讲清该放哪个、secret 怎么写入,以及 secrets.required 和变量限额。