2026 Cloudflare Workers 完整指南:面向开发者的边缘计算
Cloudflare Workers 是一个无服务器边缘计算平台,让你在 Cloudflare 全球边缘节点网络上运行 JavaScript 代码——距离用户更近,无需任何服务器管理。Workers 非常适合构建快速、响应式的逻辑——URL 重定向、A/B 测试、API 转换和轻量级后端任务——这些在全球数百个位置以毫秒级延迟执行。
目录
Cloudflare Workers 是什么?
Cloudflare Workers 是一个无服务器计算平台,让你在 Cloudflare 的全球分布式边缘网络上执行 JavaScript 代码,而非集中在某个数据中心。你的代码会自动部署到全球数百个位置;当用户发起请求时,地理位置最近的边缘服务器处理请求,从而实现最小化延迟。这就是边缘计算的实践——计算逻辑更靠近用户,大幅减少往返延迟。
- 代码在 Cloudflare 的分布式边缘网络上运行,而非单一数据中心
- 自动部署到全球数百个位置,单一命令即可,无需手动管理
- 无需服务器管理、自动扩展或容量规划
- 执行速度以毫秒计,简单逻辑通常少于 10 毫秒
什么是边缘计算?
边缘计算是将数据处理逻辑移向用户所在位置的概念,而非将所有请求都发送到远端数据中心再等待完成。可以把它看作是在本地做出初步决策,而不是等待总部发来的最终决定。当你的系统真正采用边缘计算时,用户会获得更快的响应,因为数据无需在互联网上往返穿越数千公里。
- 延迟降低,因为请求无需全球往返才能到达你的服务器
- 用户体验更好,由于物理距离更近且网络距离缩短
- 减轻主要后端的负担,边缘服务器承担部分工作
- 权衡:边缘环境有内存限制、CPU 时间限制和受限的 API
Cloudflare Workers 的实际应用场景
Workers 在众多场景中表现出众:根据用户位置或设备类型进行动态 URL 重定向、通过向不同用户群体提供不同版本来进行 A/B 测试、在流量到达源服务器前进行请求过滤和安全检查、构建轻量级 API 代理以转换或组合数据,以及智能缓存决策。你可以构建简单的 Webhooks、限流器、身份验证检查、会话验证器,甚至轻量级 GraphQL 解析器——所有这些都在边缘运行,开销和延迟都很小。
- 地理位置和设备类型的重定向
- A/B 测试、功能开关和灰度发布
- API 网关逻辑和请求/响应转换
- 请求过滤和安全检查
- 基于用户段的条件缓存和缓存清除
Workers vs Pages vs CDN 缓存:核心差异
Cloudflare 提供三项不同但互补的服务。CDN 缓存在边缘服务器上存储静态资源(图片、CSS、JavaScript),以便即时交付,无需重新计算。Cloudflare Pages 直接从你的代码仓库或构建流程中托管预构建的静态网站(纯 HTML/CSS/JS)。而 Workers 不同:它们在请求时运行自定义 JavaScript 代码,支持动态行为——条件路由、实时数据获取、身份验证和应用逻辑。选择缓存用于纯静态资源,Pages 用于静态网站生成器,Workers 用于需要在边缘执行可执行逻辑的场景。
- CDN 缓存:仅适用于真正的静态文件,无动态逻辑
- Cloudflare Pages:适合用 Hugo、Jekyll、Gatsby、Next.js 等构建的静态网站
- Workers:在请求时执行 JavaScript,实现动态行为
- 可组合使用:Pages 提供静态前端,Workers 驱动 API 和动态功能
Cloudflare Workers 入门
最简单的开始方式是使用 Wrangler,Cloudflare 官方的 CLI 工具。新建项目,在 index.ts 或 index.js 中编写 fetch 处理程序,使用 wrangler dev 在本地测试,然后用 wrangler publish 全局部署。你的 Worker 在几秒内会在数百台边缘服务器上实时运行——Cloudflare 自动处理构建、依赖捆绑和分发。你只需要写代码。
- 在你的机器上安装 Wrangler CLI
- 使用 wrangler init 新建项目
- 在 index.ts 中编写 fetch 处理程序
- 使用 wrangler dev 进行本地测试
- 使用 wrangler publish 在几秒内全球部署
定价和成本模型
Cloudflare Workers 提供免费层,你可以每月运行数百万次请求而无需支付任何费用——非常适合测试和低流量工作负载。对于生产使用,按量付费的 Workers 计划根据 CPU 毫秒数和超出免费额度的请求数计费。无设置费、无最低承诺、无预留容量费用——你只需按实际使用情况付费。这种定价模型使 Workers 对于个人项目、初创公司和企业级应用都很经济。
- 免费层:每月数百万请求免费
- 付费层:根据 CPU 毫秒数和请求量计费
- 无设置费、无最低承诺、无预留容量
- 按量付费:成本随使用量增长,空闲时近乎零成本
性能优势和实际限制
Workers 的优势显而易见:极低的延迟(通常每个请求 10–50 毫秒),更低的运营成本(无需管理基础设施),以及高可靠性——即使源服务器暂时宕机也能提供缓存或备用内容。但实际限制是存在的:内存上限约 128 MB 每请求,CPU 时间限制 30 秒,无法无限流式传输大型响应。对于计算密集型操作、数据库查询密集或长时间运行的任务,你仍需调用主要后端——Workers 最适合轻量级编排,不是重型计算。
- 优势:极端延迟降低、最小化基础设施成本、即使源站故障也能高可用
- 限制:每请求约 128 MB 内存、30 秒 CPU 超时
- 计算密集或数据库密集操作必须回源
- 最适合轻量级编排,不适合重型处理或长时间运行的进程
最佳实践和生产就绪
在将 Workers 部署到生产环境之前,理解你的使用场景并实现缓存以减少源站请求。使用环境变量存储 API 密钥和密文——绝不要在源代码中硬编码凭证。使用 AbortController 实现超时处理,防止在达到 30 秒 CPU 限制前出现运行失控。设计 Worker 能够优雅地失败:如果出错,回退到源服务器或返回缓存响应。在类似生产的条件下进行严格测试,包括高并发、慢速网络连接、异常数据格式和源站错误。
- 使用 AbortController 实现超时处理以防止失控操作
- 将密文存储在环境变量中,绝不在源代码中存储
- 激进地缓存以最小化源站请求并降低延迟
- 在现实的并发、慢速网络和错误条件下进行负载测试
- 设计优雅降级:始终有备用响应或缓存数据
常见问题解答
Cloudflare Workers 适合小型网站吗?
绝对适合。免费层每月包含数百万次请求,成本为零,足以满足大多数小型网站。你只在超出免费配额时才需付费,使 Workers 对初创公司和个人项目非常经济划算。
我能将 Workers 连接到我的数据库吗?
可以。Workers 可以向你的后端 API 和数据库发起 HTTPS 请求。但要记住 Workers 有 CPU 和内存限制,所以最适合快速数据查询和轻量级操作——不适合长时间运行、计算密集的数据库查询。
Cloudflare Workers 和 VPS 有什么区别?
VPS 是你完全管理的虚拟服务器——操作系统、部署、扩展——需要大量的运维工作。Workers 是 Cloudflare 管理的平台;你编写代码并立即部署。Workers 更快、更便宜、零维护,但限制更多。轻量级动态任务选择 Workers,复杂应用需要完全控制时选择 VPS。
我能在 Cloudflare Workers 中存储数据吗?
可以。Cloudflare 提供 Workers KV(针对快速读取优化的全球键值存储)和 Durable Objects(用于状态密集、写入密集的工作负载)。KV 用于缓存、功能开关和配置;Durable Objects 用于协调状态和频繁写入。两者都与 Workers 无缝集成。