返回首页

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

对独立开发者来说,最大的收益不是省钱,而是省注意力。不用半夜起来看服务器有没有挂,这件事本身就值很多钱。

几个踩过的坑

  1. 不要在 Worker 里做重计算。CPU 时间有上限,图像处理、大文件解析应该放到队列或 R2 + 外部服务。
  2. 注意冷启动与全局变量。模块顶层初始化的对象会在同一 isolate 内复用,适合放数据库连接池之类的轻量对象。
  3. 本地开发用 wrangler dev,它能真实模拟绑定,比 mock 靠谱得多。

写在最后

Cloudflare Workers 不是银弹,但对「一个人做一个产品」这件事来说,它把基础设施的复杂度压到了极低。你只需要关心业务逻辑,剩下的交给边缘网络。

下一篇我会写如何用 Nuxt 3 + Workers 把这个博客真正部署上线,包括构建产物、静态资源和自定义域名的完整流程。

评论

友善交流,邮箱不会公开

发表评论

未配置人机验证,已启用频率限制与内容过滤