Cloudflare Workers 基础使用、免费额度与收费额度
wxk1991 Lv5

Cloudflare Workers 基础使用、免费额度与收费额度

Cloudflare Workers 是运行在 Cloudflare 边缘网络上的 Serverless 运行时。你可以把它理解成一个离用户更近的轻量后端。

它适合写 API、代理、鉴权、Webhook、定时任务,也适合和 D1、KV、R2 组合成完整应用。

说明:本文额度按 2026-06-07 官方文档整理,后续可能变化。


一、适合哪些场景

Workers 适合:

  • API 服务
  • Webhook 接收器
  • 请求转发和反向代理
  • A/B 测试和边缘鉴权
  • 定时任务
  • 和 D1、KV、R2 组合的轻量后端

如果你需要长时间运行的传统服务,Workers 不一定是第一选择。如果是请求响应型服务,它非常合适。


二、创建项目

安装 Wrangler:

1
npm install -g wrangler

创建项目:

1
npm create cloudflare@latest my-worker

本地启动:

1
2
cd my-worker
npm run dev

部署:

1
npm run deploy

三、最小 Worker 示例

1
2
3
4
5
export default {
async fetch(request: Request): Promise<Response> {
return new Response("hello worker");
},
};

返回 JSON:

1
2
3
4
5
6
7
8
export default {
async fetch(request: Request): Promise<Response> {
return Response.json({
ok: true,
message: "hello cloudflare",
});
},
};

Workers 的入口就是 fetch。每个请求进来,都会调用这个函数。


四、路由和环境变量

wrangler.tomlwrangler.jsonc 里可以配置名称、路由、变量和绑定。

示例:

1
2
3
4
5
6
name = "my-api"
main = "src/index.ts"
compatibility_date = "2026-06-07"

[vars]
APP_ENV = "production"

代码里读取:

1
2
3
4
5
6
7
8
9
export interface Env {
APP_ENV: string;
}

export default {
async fetch(request: Request, env: Env): Promise<Response> {
return Response.json({ env: env.APP_ENV });
},
};

五、免费额度

Workers Free 计划常见额度:

  • 每天 100,000 次请求
  • 单次调用 CPU 时间通常限制在 10 ms

这个额度适合个人项目、轻量 API、Webhook、小工具和学习项目。


六、收费额度

Workers Paid 计划最低 $5/月。Standard 用量常见计费方式:

  • 每月包含 10,000,000 次请求
  • 超出后每 1,000,000 次请求 $0.30
  • 每月包含 30,000,000 CPU ms
  • 超出后每 1,000,000 CPU ms $0.02

Workers 的计费核心不是只看请求数,还要看 CPU 时间。大量等待外部 I/O 的请求和大量 CPU 计算的请求,成本结构会不一样。


七、绑定 D1、KV、R2

Workers 最强的地方是绑定 Cloudflare 生态产品。

D1 绑定示例:

1
2
3
4
[[d1_databases]]
binding = "DB"
database_name = "my-db"
database_id = "xxxx"

代码里使用:

1
2
3
4
5
6
7
8
9
10
export interface Env {
DB: D1Database;
}

export default {
async fetch(request: Request, env: Env): Promise<Response> {
const result = await env.DB.prepare("select 1 as ok").first();
return Response.json(result);
},
};

KV、R2 也是类似思路:先在配置里声明 binding,再通过 env 使用。


八、实践建议

Workers 适合做轻量、明确、请求响应型的后端逻辑。不要把它当传统服务器硬塞所有东西。

如果只是 API 和边缘逻辑,Workers 很舒服。如果要数据库,用 D1。如果要缓存,用 KV。如果要文件,用 R2。如果要复杂业务状态,再考虑 Durable Objects 或外部数据库。


参考资料