D1:迁移、事务与批处理、读副本与 Sessions,以及什么时候该离开它
D1 是托管的 SQLite。本文讲清迁移工作流、为什么不能用 BEGIN 而要用 batch、读副本与 Sessions API 的一致性保证,以及单库上限与单线程特性决定的离开时机。
共 12 篇文章带有这个标签。
D1 是托管的 SQLite。本文讲清迁移工作流、为什么不能用 BEGIN 而要用 batch、读副本与 Sessions API 的一致性保证,以及单库上限与单线程特性决定的离开时机。
讲清 wrangler deploy 背后的版本与部署两个概念、渐进发布与回滚能回滚什么不能回滚什么,workers.dev、routes 与 custom domains 的区别,静态资源 assets 的部署形态,以及常见的部署坑。
理解 Durable Objects 的核心模型:同一 ID 全局只有一个实例、单线程处理事件、输入输出闸门与 await 竞态,以及 SQLite 存储、生命周期与取舍。
基于单线程与单实例的模型,讲 Durable Objects 的几种典型模式:串行协调器、滑动窗口限流、聊天房间、WebSocket Hibernation 与 alarm 定时任务,以及各自的取舍与边界。
解释 Workers KV 为什么读得快却不能当数据库:最终一致、约 60 秒或更久的传播、负缓存、cacheTtl 与同 key 每秒一次写入;并给出配置读取、缓存层、会话等模式的取舍与误区。
讲清 Cloudflare Queues 的 at-least-once 投递、批量消费、重试与死信队列的配置与行为,以及为什么消费者必须幂等,并给出与 Workflows、Durable Objects 的取舍。
讲清 R2 的强一致模型、Workers 绑定 API、大文件的预签名直传与分片上传,以及 r2.dev 与自定义域名的差别和缓存陷阱,最后给出什么时候该用、什么时候别用 R2 的取舍。
讲清 Workers 的 handler 种类、响应返回之后能做什么与 ctx.waitUntil 的真实语义、CPU 时间和墙钟时间的区别与限额口径,以及 request.signal 的取消与超时处理。
从一致性和访问模式出发,比较 Cloudflare 的 KV、D1、R2 与 Durable Objects:各自保证什么、边界在哪里、常见选错的场景,以及一棵可以直接套用的决策树。
讲清 Workers 的运行模型:V8 isolate 与容器、Node 服务器的差异,没有常驻进程与可靠全局状态意味着什么,冷启动怎么理解,nodejs_compat 的作用与边界,以及哪些 API 能用。
讲解 Cloudflare Workflows 的持久化执行模型:step.do 的缓存与重试、sleep 与 waitForEvent、编写规则与限额,以及它与 Queues 在多步骤流程上的分工与取舍。
讲清 wrangler.jsonc 的核心字段、为什么绑定(binding)是 Workers 的核心抽象,以及 wrangler dev 本地模拟与线上的差异、vars 与 secrets 的区别、.dev.vars 优先级、类型生成和多环境的坑。