Vercel 比 Cloudflare 贵几十倍,为什么你还在用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
IndexOutOfBounds

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

  •  
  •   IndexOutOfBounds 11 天前 2242 次点击

    最近在做一个基于 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==

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

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

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

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



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

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


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

    我这个主要是内容页面,isr write 和 ai 实时翻译占用 cpu time 是大头,有几十万个页面,一直优化不好,每天爬虫就很多流量了
    IndexOutOfBounds
        20
    IndexOutOfBounds  
    OP
       10 天前 via Android
    @DandelionFlowers R2 流量免费,活佛再世,妈妈再也不用担心被冲到爆单了
    IndexOutOfBounds
        21
    IndexOutOfBounds  
    OP
       10 天前 via Android
    @dingawm d1 写入没有并发,不支持完整事务。主要就这两个了,读取的话还是很快的,边缘节点都有读副本
    avenger
        22
    avenger  
       10 天前
    @duuu 你还是在 vercel 的基础上部署做的优化吗?还是已经转移到了 CF
    IndexOutOfBounds
        23
    IndexOutOfBounds  
    OP
       10 天前 via Android   1
    @avenger 可以看一下 next.js 翻译过去的 Worker.js 有没有被正常生成,cf 入口是这个
    IndexOutOfBounds
        24
    IndexOutOfBounds  
    OP
       10 天前 via Android
    你们会做监控告警吗?还是裸奔
    kuxuan
        25
    kuxuan  
       10 天前
    你们都是做国外的业务吗
    jchencode
        26
    jchencode  
       10 天前
    一直想把 vercel 迁移到 cf 上。但是,我的网站需要支持全球访问。。。vercel 访问对国内友好,cf 则不行。如果国内没有备案 CDN 的话,好像只能这样。。。有没有佬,有其他办法?
    vitality
        27
    vitality  
       10 天前
    @IndexOutOfBounds #4 不一定要用 D1 嘛,还可以用 Turso/Neon/Supabase 这些数据库
    IndexOutOfBounds
        28
    IndexOutOfBounds  
    OP
       10 天前 via Android
    @jchencode 你是说 CF 得翻墙吗?这个挂了自定义域名之后就可以访问通了
    IndexOutOfBounds
        29
    IndexOutOfBounds  
    OP
       10 天前 via Android
    @vitality 是的,CF 还有针对外部数据库的连接池产品
    jchencode
        30
    jchencode  
       10 天前
    @IndexOutOfBounds 国内不开代理,怎么访问 cf 配置过的域名,能达到秒开。
    nc
        31
    nc  
       10 天前
    @IndexOutOfBounds ip.nc.gy 我的网站,每天 1M+请求量,就是 1H1GB 撑起来的。代码都是开源的,包含 IAC 代码,可以参考。不过这个项目是 rust 写的,性能本身高,但如果用 Go 也是没问题的。
    nc
        32
    nc  
       10 天前   1
    @nc
    cfer
        33
    cfer  
       10 天前
    @jchencode #26 vercel 国内访问没有 cf 定义 dns 解析后快哎。我就是这个原因转的 cf
    jchencode
        34
    jchencode  
       10 天前
    @cfer 有对比数据吗?我怎么看说的是 vercel 要快
    cfer
        35
    cfer  
       10 天前
    @jchencode #34 我自己没有做测试,但 Ai 能给出比较合理的回答: https://chatgpt.com/share/69df4da3-5c40-83ea-a7e4-70ec6f409f39
    jchencode
        36
    jchencode  
       10 天前
    @cfer 。。。我也是问的 AI
    jchencode
        37
    jchencode  
       10 天前
    @cfer cf 都没有香港机器,vercel 有,AI 给我的回答是这个
    IndexOutOfBounds
        38
    IndexOutOfBounds  
    OP
       10 天前 via Android
    @jchencode cf 是 global 服务,边缘架构,都是就近拉起服务的,香港节点不太可能没有吧
    duuu
        39
    duuu  
       9 天前   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  
       9 天前
    @duuu 非常感谢
    avenger
        41
    avenger  
       9 天前
    @duuu vercel 你前面还有加一次 CF 的 cdn 吗?
    duuu
        42
    a href="/member/duuu" class="dark">duuu  
       9 天前   1
    @avenger 不是 cf 的 cdn ,我图片资源那些用的是腾讯云的 cdn 。页面的 CDN 缓存那些应该是 vercel 有自带的功能。但是配置导致没走
    avenger
        43
    avenger  
       8 天前   1
    再次感谢 @duuu 的分享,今天优化了两项:Link 的 prefetch = false ,针对于多语言 uri 在 cf 上加了强制的 cache header ,效果很明显,已经从之前每天的 $5-10 降到 $2 左右了

    ---

    还有一个问题,我才发现,就是 Web Analytics 中的 Visits 跟 真实 request 访问量是不一致的,我的网站 70% 的访问量都是 google bot 和 bing bot ,索引了很多冷门页面,导致 vercel function time 过高的,不知道大家是如何权衡这个问题的
    IndexOutOfBounds
        44
    IndexOutOfBounds  
    OP
       7 天前   1
    @avenger #43 “Web Analytics 中的 Visits 跟 真实 request 访问量”
    可以用 Google Analytics, CF 的 Visits 是服务端统计,会把爬虫也统计进去

    “我的网站 70% 的访问量都是 google bot 和 bing bot” 好像 cf 域名管理那边可以设置拦截策略
    avenger
        45
    avenger  
       7 天前
    @IndexOutOfBounds 是的,现在感觉三个数据都对不齐,Google Analytics 的,cf 的还有 vercel 本身的,cf 跟 Google Analytics 差不多,vercel 要少一些。

    我的本意是,如何权衡 bot 的流量和 seo ,一刀切全部拦截是不是也不太好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2890 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 62ms UTC 14:21 PVG 22:21 LAX 07:21 JFK 10:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86