标签:教程

共 35 篇文章带有这个标签。

部署、版本与回滚:渐进发布、路由与自定义域名

讲清 wrangler deploy 背后的版本与部署两个概念、渐进发布与回滚能回滚什么不能回滚什么,workers.dev、routes 与 custom domains 的区别,静态资源 assets 的部署形态,以及常见的部署坑。

KV:最终一致的真实含义与缓存模式

解释 Workers KV 为什么读得快却不能当数据库:最终一致、约 60 秒或更久的传播、负缓存、cacheTtl 与同 key 每秒一次写入;并给出配置读取、缓存层、会话等模式的取舍与误区。

Queues:投递语义、重试与死信、幂等

讲清 Cloudflare Queues 的 at-least-once 投递、批量消费、重试与死信队列的配置与行为,以及为什么消费者必须幂等,并给出与 Workflows、Durable Objects 的取舍。

R2:对象存储、预签名上传、公开访问与缓存

讲清 R2 的强一致模型、Workers 绑定 API、大文件的预签名直传与分片上传,以及 r2.dev 与自定义域名的差别和缓存陷阱,最后给出什么时候该用、什么时候别用 R2 的取舍。

反模式合集:Effect 用歪的十一种方式

把前面各章的结论倒过来看:十一种典型的 Effect 误用,从到处 run、悬空 Effect 到吞掉失败、无界并发、盲目重试和万物皆 Effect,每种都说明丢掉了什么保证。

约定与规则:哪些该机械检查、版本与 unstable 的管理

团队约定写在文档里会过期。本章讲怎样判断一条约定该交给机器还是交给人:按能否被证伪分层为语法、类型、依赖与语境四类,并说明 Effect 4.0.5 的 @stability 标签和版本固定该怎么管理。

与外部世界对话:HttpClient、SQL、RPC 的共同形状

HTTP、数据库、RPC 看似三个领域,其实都是跨进程边界的调用,面对同样的问题。本章讲它们共享的形状,以及 HttpClient、SqlClient、Rpc 怎样落在这个形状上。

可观测性:日志、span、指标,先想清楚观测什么

Effect 把日志、tracing 和指标都做成内置能力,函数加一层包装就能产生 span。但工具不会替你决定该看什么。本章先讲三种信号各自回答什么问题,再讲怎么在代码里挂上去、怎么导出,以及常见的滥用方式。

运行时边界:ManagedRuntime、与框架接合、Workers

Effect 程序只是描述,总得有人在某个地方真正运行它。本章讲清运行只发生在边缘的含义、为什么长驻进程要构建一个 ManagedRuntime,以及接入 Web 框架和 Cloudflare Workers 时边界该画在哪里。

共享状态:Ref、Queue、PubSub、Semaphore 怎么选

多个 fiber 要共享数据、互相传递工作或限制并发时,该用哪个原语?本章按「要解决的问题」而不是按 API 来分类:Ref 存值、Queue 派活、PubSub 广播、Semaphore 限流,并讲清各自的边界。

流:Stream 与背压,以及什么时候不该用

数据不是一次到齐,而是一批批流过来。本章讲 Stream 是什么、惰性拉取与背压怎样让内存保持有界,常用的构造、变换与消费方式,以及哪些场景用数组或 forEach 更合适。

时间与重试:Schedule、退避与超时

外部调用既会慢也会偶发失败。本章讲清 Schedule 为什么是一个可组合的策略值,退避、上限与抖动怎么拼,哪些失败值得重试,以及 timeout 和 retry 谁包着谁。