- All Free features
- Every public topic · read · listen · watch
Overview
Workers 不是另一种容器 serverless。执行单元是 V8 isolate,运行环境由 cordon、Layer-2 沙箱、计时与多线程禁用等防御叠加;env 把 KV、R2、D1 等资源封装为能力式绑定,密钥永不进代码;version 与 deployment 解耦让灰度、回滚、Preview URL 成为流水线原生动作;Logs、Traces、Metrics、Errors 与 OpenTelemetry 导出让按 version 切片的事后回看成为可能。四层机制相互咬合,共同构成 Workers 的可靠性。
Learning outcomes
- Workers 的执行单元是 V8 isolate,不是容器或 VM;同一进程可塞数百至数千 isolate,但生命周期不受应用控制。
- 六层防御叠加:cordon、Layer-2 沙箱、计时与多线程禁用、动态进程隔离、周期内存重排、V8 补丁 24 小时内推生产。
- env 是 Worker 与平台资源的唯一表面,绑定把权限与 API 打包,密钥永不进代码,top-level 不可做 binding I/O。
- version 与 deployment 解耦让灰度、回滚、Preview URL 成为流水线原生动作;rollback 替换 deployment 但不改关联资源。
- Logs、Traces、Metrics、Errors 与 OpenTelemetry 导出共同构成可观测面,按 ScriptVersion 切片是灰度期定位问题的标准动作。
Preview every chapter · Unlock full text, audio, and video from chapter 4
View all plans →FAQ
Cloudflare Workers 与传统容器 serverless 有什么本质区别?
执行单元不是 OS 进程或容器,而是 V8 isolate——同进程可承载数百至数千租户,启动比 Node 进程快约百倍、内存占用低一个数量级。isolate 可被运行时随时驱逐,因此 module 顶层不可存可变状态。
Workers 用什么机制保证多租户隔离?
Cloudflare 在 V8 isolate 之上叠加六层防御:cordon 按信任等级拆分进程、Layer-2 沙箱用 namespaces 加 seccomp 屏蔽 FS 与网络 syscall、禁用 Date.now 推进与多线程、动态进程隔离可疑脚本、每日内存重排、V8 补丁 24 小时内推到生产。
为什么说 env 是 Worker 唯一的资源表面?
Worker 进程被 seccomp 屏蔽所有文件与网络 syscall,只能经 UNIX 域套接字与 outbound 代理通信。env 把 KV、R2、D1、Durable Objects 等封装成绑定,权限与 API 打包,密钥永不进代码,且 top-level 不可做 binding I/O。
灰度部署期间如何定位是哪个版本在引入回归?
通过 Logpush 输出选项的 ScriptVersion 字段,或 Worker 内 Version metadata binding 把 versionID 与 versionTag 写进 spans 与日志,在 Honeycomb、Grafana Cloud、Axiom 等后端按 version 切片看错误率与延迟。