Cloudflare Workers:用最少的服务器搭建强大的 SaaS 应用
技术
2025-10-30 1240 0 2 min
在当今的互联网时代,如何用最少的服务器资源,快速搭建稳定、可扩展的 SaaS 应用,是每个独立开发者和创业者都关心的问题。Cloudflare Workers 提供了一套完整的思路:无需传统服务器,让我们可以在全球网络上运行代码,真正实现零服务器的 SaaS。
什么是 Cloudflare Workers?
Cloudflare Workers 是 Cloudflare 提供的无服务器计算平台,允许开发者在全球边缘网络上运行 JavaScript 代码。它的优势在于:
- 无需管理服务器,按需运行
- 全球部署,低延迟
- 强大的生态集成
- 免费额度对个人项目非常友好
传统架构里,一个请求要先打到某个区域的服务器,再查数据库、拼页面、返回。而 Workers 把这段逻辑直接放到离用户最近的节点,请求往返时间从几百毫秒降到几十毫秒。
一个最小的 Worker
下面这个例子几乎就是全部了 —— 一个完整的 HTTP 服务,部署后全球可用:
javascript
export default {
async fetch(request, env) {
const url = new URL(request.url)
if (url.pathname === '/api/hello') {
return Response.json({ message: 'Hello, World!' })
}
return new Response('Not Found', { status: 404 })
},
}没有端口、没有进程、没有负载均衡配置。env 里可以拿到 KV、D1、R2 等绑定,这就是 Workers 的核心心智模型:代码 + 绑定。
用 D1 做持久化
无状态的计算配上 D1(基于 SQLite 的边缘数据库),就能撑起一个真正的 SaaS 后端:
typescript
interface Env {
DB: D1Database
}
export default {
async fetch(request: Request, env: Env) {
const { results } = await env.DB.prepare(
'SELECT id, title, created_at FROM articles ORDER BY created_at DESC LIMIT 20'
).all()
return Response.json({ articles: results })
},
}D1 的读性能很好,适合读多写少的博客、工具类产品。写操作会路由到主库,读操作可以在只读副本上完成。
成本对比
假设一个日活 1000 的小型 SaaS:
| 方案 | 月成本 | 运维负担 |
|---|---|---|
| 传统云服务器 | 约 60 元起 | 需要自己装环境、配证书、做备份 |
| 容器 + 负载均衡 | 约 150 元起 | 需要懂 K8s 或至少会写编排文件 |
| Workers + D1 | 通常 0 元 | 只需 wrangler deploy |
对独立开发者来说,最大的收益不是省钱,而是省注意力。不用半夜起来看服务器有没有挂,这件事本身就值很多钱。
几个踩过的坑
- 不要在 Worker 里做重计算。CPU 时间有上限,图像处理、大文件解析应该放到队列或 R2 + 外部服务。
- 注意冷启动与全局变量。模块顶层初始化的对象会在同一 isolate 内复用,适合放数据库连接池之类的轻量对象。
- 本地开发用
wrangler dev,它能真实模拟绑定,比 mock 靠谱得多。
写在最后
Cloudflare Workers 不是银弹,但对「一个人做一个产品」这件事来说,它把基础设施的复杂度压到了极低。你只需要关心业务逻辑,剩下的交给边缘网络。
下一篇我会写如何用 Nuxt 3 + Workers 把这个博客真正部署上线,包括构建产物、静态资源和自定义域名的完整流程。
评论
友善交流,邮箱不会公开