内容提要
推荐用 Cloudflare 全家桶(Pages、Workers、D1、R2)加 Resend 搭建小产品,前端、后端、数据库、文件和邮件全部托管,均有免费额度,月账单 0 元,只需维护一个 GitHub 仓库,无需自建服务器。该方案适合无状态短任务,不适合长任务、Native 模块及高并发写入,后者可改用 Neon、Supabase 等托管 Postgres。
延伸解读
与 Vercel 的计费差异
文章对比了 Vercel 和 Cloudflare 的免费部署方案。Vercel 开发体验好,但出网流量按量计费,Pro 档含 100GB,超出后约 $0.15/GB,早年不少独立开发者产品被流量冲爆后收到意外账单。Cloudflare 则把出网流量直接做成 0 元,这是架构上的差别,不是促销。对不知道哪天会火的个人产品,这个差别值得留意。
适用边界:无状态短任务
这套组合并非万能,适合无状态的短任务。作者给出的分界线是:一个请求能否在几十秒内、无状态地跑完?能,就用 Workers;不能,就老实回服务器或容器。硬塞不适合的活儿,最后难受的是自己。
三个常见坑
文章展开说了三个坑:一是长任务,如视频转码、分钟级爬虫、大模型推理,会超出单次调用的 CPU 限制;二是 Native 模块,依赖 C 扩展或系统库的运行时在 Workers 里装不上;三是 D1 不是 Postgres,它是单写入者架构,高并发猛写会排队争用。真需要正经关系型数据库,可接 Neon、Supabase 这类托管 Postgres,依然不用自建服务器。
Q&A
不买服务器,怎么用0元上线一个小产品?
使用 Cloudflare 全家桶(Pages、Workers、D1、R2)加 Resend,前端、后端、数据库、文件和邮件全部托管,均有免费额度,月账单0元,只需维护一个 GitHub 仓库。
Cloudflare 全家桶里每个服务分别负责什么?
Pages 管门面(前端),Workers 管后端,D1 管数据,R2 管文件,Resend 管发信。
这套方案适合处理长任务吗?
不适合。它适合无状态的短任务,长任务如视频转码、分钟级爬虫、大模型推理等超出单次调用的 CPU 限制,应改用服务器或容器。
D1 数据库有什么局限性?
D1 不是 Postgres,它是单写入者架构,高并发猛写会排队争用。如果需要正经的关系型数据库,可以接 Neon、Supabase 这类托管 Postgres。
和 Vercel 相比,Cloudflare 方案在成本上有什么优势?
Vercel 的出网流量按量计费(Pro 档含 100GB,超出后约 $0.15/GB),而 Cloudflare 把出网流量直接做成 0 元,这是架构上的差别,对可能突然火起来的个人产品更友好。
这套方案需要维护服务器吗?
不需要。你只需要维护一个 GitHub 仓库,所有服务都跑在别人的基础设施上,没有机器要你伺候,省去了装环境、配 Nginx、开防火墙、备份数据库等运维工作。