V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
IndexOutOfBounds
V2EX  ›  问与答

Vercel 比 Cloudflare 贵几十倍,为什么你还在用?

  •  
  •   IndexOutOfBounds · 3 天前 · 1957 次点击

    最近在做一个基于 Cloudflare 全家桶的 SaaS 模板,技术选型的时候对比了一圈,最后选了 CF Workers + D1 + R2 + KV + Queues + Cron 。免费额度就够跑通早期业务,Worker 每天 10 万次请求不要钱

    但我发现一个现象:身边做独立开发的朋友,几乎清一色 Vercel + Supabase 。问他们为什么不用 Cloudflare ,回答基本是"没了解过""感觉是做 CDN 的"

    Reddit 上有个创业公司 CTO 分享过,同样的前端应用,Vercel 账单从 $100/月涨到 $800/月,迁到 Cloudflare Workers 之后同样流量不到 $20 ,Lighthouse 分数还涨了

    Cloudflare 这两年变化确实很大:D1 数据库 GA 了,Queues 、Cron 、R2 基本上 SaaS 需要的基础设施全有了。当然也有问题——D1 单库 10GB 上限(不过大部分业务就存点元数据,瓶颈也不在这)、Workers CPU 时间限制、生态和文档不如 Vercel 成熟。

    纯好奇,不是引战。。


    做独立开发的朋友,或者对模板感兴趣的可以加我 v 一起交流:Z2xpZGVhMTIzCg==

    43 条回复    2026-04-17 19:28:47 +08:00
    kulove
        1
    kulove  
       3 天前 via Android
    开始的时候没想到这么贵啊 现在 vercel 每个月 200 刀左右 有迁移的想法
    kuhung
        2
    kuhung  
       3 天前   ❤️ 1
    主要教程多是这样的 CF 资料好像不多 vercel 抢占心智了算是
    k9982874
        3
    k9982874  
       3 天前   ❤️ 1
    CF 的技术栈后续几乎没法迁移啊,Vercel 后续可以几乎无障碍切别的云平台或者 self-hosted
    IndexOutOfBounds
        4
    IndexOutOfBounds  
    OP
       3 天前
    @kulove 200 刀省下来够买 claude max 了😂
    不过迁移也挺麻烦的,D1 对事务的支持不完整,不过也可以只迁移 Worker,r2 这些
    IndexOutOfBounds
        5
    IndexOutOfBounds  
    OP
       3 天前
    @kuhung 是这样,我也是先接触 vercel ,后面才知道 CF
    CF 也是最近两三年才完善产品线
    kulove
        6
    kulove  
       3 天前 via Android
    @IndexOutOfBounds 主要就是迁移太麻烦了 然后产品利润还行 就一直拖到现在
    tianjiyao
        7
    tianjiyao  
       3 天前   ❤️ 2
    Cloudflare 路过,早迁移早收益哈哈。赛博菩萨就是好。。
    不过我养成了个坏毛病。。动不动就买域名。。已经买了 5-6 个了。。哈哈
    nc
        8
    nc  
       3 天前
    5 刀 vps 就能搞定的事,ansible + github actions 自动部署体验和 serverless 一样,就是一堆 yaml file ,让 AI 写就行了。不过用 next.js 的话就老老实实 vercel 吧
    docx
        9
    docx  
       3 天前 via iPhone
    All in Cloudflare = All in BOOM
    rocmax
        10
    rocmax  
       3 天前 via Android   ❤️ 1
    因为用 nextjs 所以绑定 vercel 吧,部署太简单了。
    不过前一阵 cloudflare 的工程师用 ai 基于 vite 实现了 nextjs 的 api ,可能 vercel 的护城河要没了。
    IndexOutOfBounds
        11
    IndexOutOfBounds  
    OP
       3 天前
    @nc 5 刀 vps 扛不了多少流量吧
    IndexOutOfBounds
        12
    IndexOutOfBounds  
    OP
       3 天前
    @tianjiyao AI 算命哈哈,上次杭州线下展会也看到了一个类似的产品
    avenger
        13
    avenger  
       3 天前   ❤️ 1
    太棒了,这两天正在找这个资料,就看到这个帖子了

    我目前也是 vercel + Supabase
    每天 500 uv 不到,一个月 $150
    近两个月还有增长的趋势
    今天在尝试用 open-nextjs 转到 CF 还未成功

    希望大家能多分享一些实践
    IndexOutOfBounds
        14
    IndexOutOfBounds  
    OP
       3 天前 via Android
    @avenger 500UV ,150 刀,有点夸张
    Open 跟原版有啥不一样吗?原版应该是支持直接部署 CF worker 的

    我用 sveltekit 直接加个适配器就好了,会自动打包成 Worker.js
    avenger
        15
    avenger  
       3 天前



    @IndexOutOfBounds 原版我试了不行啊,我是参考这个文档来的,目前还卡着

    https://developers.cloudflare.com/workers/framework-guides/web-apps/nextjs/#deploy-a-new-nextjs-project-on-workers


    附件是我过去 30 天的用量截图,我也觉得不太正常
    DandelionFlowers
        16
    DandelionFlowers  
       3 天前
    昨天晚上把 blog 也迁移到 Cloudflare Worker 上了,困扰半个月的 VXNA 拉取问题终于解决了( https://study.congcong.us/t/1198035#reply4 ),之前一直用 GitHub 和 NPM 当图床,前几天也迁移到 R2 上去了,不得不感叹 CF 真是当代互联网活菩萨
    duuu
        17
    duuu  
       3 天前
    @avenger 我 5000uv ,现在每天不到 1 刀。没优化之前每天 7-8 刀都有,后来优化了很多版本,最终降下来了。
    dingawm
        18
    dingawm  
       3 天前
    虽然还没做过独立业务,但是之前和 AI 聊了一下技术方案,一个是 Next 技术栈,还有一个是说 CF 的数据库还不太行,不如 Supabase ,所以就推荐 Vercel + Supabase 了
    avenger
        19
    avenger  
       2 天前 via iPhone
    @duuu 能分享一下主要优化点吗

    我这个主要是内容页面,isr write 和 ai 实时翻译占用 cpu time 是大头,有几十万个页面,一直优化不好,每天爬虫就很多流量了
    IndexOutOfBounds
        20
    IndexOutOfBounds  
    OP
       2 天前 via Android
    @DandelionFlowers R2 流量免费,活佛再世,妈妈再也不用担心被冲到爆单了
    IndexOutOfBounds
        21
    IndexOutOfBounds  
    OP
       2 天前 via Android
    @dingawm d1 写入没有并发,不支持完整事务。主要就这两个了,读取的话还是很快的,边缘节点都有读副本
    avenger
        22
    avenger  
       2 天前
    @duuu 你还是在 vercel 的基础上部署做的优化吗?还是已经转移到了 CF
    IndexOutOfBounds
        23
    IndexOutOfBounds  
    OP
       2 天前 via Android   ❤️ 1
    @avenger 可以看一下 next.js 翻译过去的 Worker.js 有没有被正常生成,cf 入口是这个
    IndexOutOfBounds
        24
    IndexOutOfBounds  
    OP
       2 天前 via Android
    你们会做监控告警吗?还是裸奔
    kuxuan
        25
    kuxuan  
       2 天前
    你们都是做国外的业务吗
    jchencode
        26
    jchencode  
       2 天前
    一直想把 vercel 迁移到 cf 上。但是,我的网站需要支持全球访问。。。vercel 访问对国内友好,cf 则不行。如果国内没有备案 CDN 的话,好像只能这样。。。有没有佬,有其他办法?
    vitality
        27
    vitality  
       2 天前
    @IndexOutOfBounds #4 不一定要用 D1 嘛,还可以用 Turso/Neon/Supabase 这些数据库
    IndexOutOfBounds
        28
    IndexOutOfBounds  
    OP
       2 天前 via Android
    @jchencode 你是说 CF 得翻墙吗?这个挂了自定义域名之后就可以访问通了
    IndexOutOfBounds
        29
    IndexOutOfBounds  
    OP
       2 天前 via Android
    @vitality 是的,CF 还有针对外部数据库的连接池产品
    jchencode
        30
    jchencode  
       2 天前
    @IndexOutOfBounds 国内不开代理,怎么访问 cf 配置过的域名,能达到秒开。
    nc
        31
    nc  
       2 天前
    @IndexOutOfBounds ip.nc.gy 我的网站,每天 1M+请求量,就是 1H1GB 撑起来的。代码都是开源的,包含 IAC 代码,可以参考。不过这个项目是 rust 写的,性能本身高,但如果用 Go 也是没问题的。
    nc
        32
    nc  
       2 天前   ❤️ 1
    @nc
    cfer
        33
    cfer  
       2 天前
    @jchencode #26 vercel 国内访问没有 cf 定义 dns 解析后快哎。我就是这个原因转的 cf
    jchencode
        34
    jchencode  
       2 天前
    @cfer 有对比数据吗?我怎么看说的是 vercel 要快
    cfer
        35
    cfer  
       2 天前
    @jchencode #34 我自己没有做测试,但 Ai 能给出比较合理的回答: https://chatgpt.com/share/69df4da3-5c40-83ea-a7e4-70ec6f409f39
    jchencode
        36
    jchencode  
       2 天前
    @cfer 。。。我也是问的 AI
    jchencode
        37
    jchencode  
       2 天前
    @cfer cf 都没有香港机器,vercel 有,AI 给我的回答是这个
    IndexOutOfBounds
        38
    IndexOutOfBounds  
    OP
       2 天前 via Android
    @jchencode cf 是 global 服务,边缘架构,都是就近拉起服务的,香港节点不太可能没有吧
    duuu
        39
    duuu  
       1 天前   ❤️ 2
    @avenger 没转 cf ,还在 vercel 。我算了一下优化之后一个月 20 刀左右就无所谓了。
    关于我的优化,优化挺多的,我只能在 git 记录找一下给你:
    1. * 延迟注册 Service Worker ,缓存 /_next/static/* 静态资源以减少 Edge Requests 。
    * 延迟 3 秒避免阻塞首屏渲染,静默失败不影响用户体验。
    2.优化很大的这个:perf: 为所有 Link 组件添加 prefetch={false} 以降低 Vercel 费用
    导航栏和博客组件中的 Link 默认开启 prefetch ,导致每次页面访问
    自动预请求所有链接目标的 segment 数据,产生大量不必要的
    Function Invocations 和 Fast Origin Transfer 费用。
    3.最重要的一个:proxy.ts export const config = {
    // 跳过静态资源、API 和数据文件
    matcher: [
    // 匹配所有非静态资源路径
    '/((?!api|_next|data|.*\\..*).*)',
    ],
    }; 改成了:export const config = {
    // 只匹配没有语言前缀的路由(需要 i18n 重定向/检测的请求)
    // 已带语言前缀的请求直接走 CDN 静态缓存,不触发 Serverless Function
    matcher: [
    '/((?!api|_next|data|zh-CN|zh-TW|en|ja|ko|de|vi|.*\\..*).*)',
    ],
    }; 这个问题导致了所有多语言都没走缓存。而 nextjs 的多语言全是这种前缀。。
    avenger
        40
    avenger  
       1 天前
    @duuu 非常感谢
    avenger
        41
    avenger  
       1 天前
    @duuu vercel 你前面还有加一次 CF 的 cdn 吗?
    duuu
        42
    duuu  
       1 天前   ❤️ 1
    @avenger 不是 cf 的 cdn ,我图片资源那些用的是腾讯云的 cdn 。页面的 CDN 缓存那些应该是 vercel 有自带的功能。但是配置导致没走
    avenger
        43
    avenger  
       7 小时 54 分钟前
    再次感谢 @duuu 的分享,今天优化了两项:Link 的 prefetch = false ,针对于多语言 uri 在 cf 上加了强制的 cache header ,效果很明显,已经从之前每天的 $5-10 降到 $2 左右了

    ---

    还有一个问题,我才发现,就是 Web Analytics 中的 Visits 跟 真实 request 访问量是不一致的,我的网站 70% 的访问量都是 google bot 和 bing bot ,索引了很多冷门页面,导致 vercel function time 过高的,不知道大家是如何权衡这个问题的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   988 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 19:23 · PVG 03:23 · LAX 12:23 · JFK 15:23
    ♥ Do have faith in what you're doing.