腾讯云 EdgeOne Pages 边缘函数的踩坑体验 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
AkinoKaedeChan
V2EX    云计算

腾讯云 EdgeOne Pages 边缘函数的踩坑体验

  •  
  •   AkinoKaedeChan 3 天前 1697 次点击

    起因

    前些时间整了个备案域名,就想着把一些自建服务迁移回国内,原本我的 Bark 服务器是放在 Cloudflare Workers 上的,于是就想着看看能不能迁移到国内公有云的 Serverless 平台上。

    选择 EdgeOne Pages 的原因也很简单,想着也许能够免费用,于是就遇到第一个问题:

    问题

    问题 1:文档没有描述 KV 的计费规则

    我打开腾讯云的文档竟然发现完全没有描述 Pages KV 的计费规则,于是我提出售前工单询问计费规则,客服回复让我加微信群问技术支持……所以这个工单系统的作用是什么,电话总机吗?无奈还是加群问了下,技术支持表示是免费的。就算免费也得写一下吧……那好吧就用这个了,毕竟好像找不到第二个免费的……

    问题 2: CLI 中环境变量不能设置为 0

    设置环境变量为 0 表示禁用应该是挺常见的用法,一开始设置为 0 不行觉得可能是 Javascript 0 == '' 的问题(后面一想那参数肯定是字符串啊),于是就试着设置成 "0",还是不行。在网页试了下可以设置,不过难道把环境变量设置为空字符串又是什么禁忌吗?

    > npx edgeone pages env set EXAMPLE_KEY 0 [cli][] Variable name and value cannot be empty. > npx edgeone pages env set EXAMPLE_KEY "" [cli][] Variable name and value cannot be empty. > npx edgeone pages env set EXAMPLE_KEY "0" [cli][] Variable name and value cannot be empty. 

    问题 3:启动开发环境次数有日限

    这个文档里写了,但是没写能开多少次,我这边大概不到 20 次就触发日限额了(热重载不算,但是 Debug 的时候发现热重载不是很即时就反复开了下),只能等第二天。

    这个开发环境似乎是远程在腾讯云那边起了三个 Worker ,而且对 KV 的读写会影响到生产环境(这要是真有人在重要生产环境用了怕不是会炸掉)……

    问题 4:fetch() 不支持 HTTP/2

    最后的推送代码写好的时候,发现请求 APNs 服务器的时候连接会被断开,研究半天发现是 EdgeOne Pages Edge Functions Runtime 的 fetch() 不支持 HTTP/2 ,而 api.push.apple.com 是强制使用 HTTP/2 的。我问了下腾讯的员工,说是在规划中,本来我想着可能我是第一个发现的文档没有提示也不奇怪,后面发现似乎我不是第一个问这个的……

    本来觉得又白干一天了,突然想起这个 Edge Pages 还有个 Node Functions 用的是 Node.js Runtime ,于是拿 Node Functions 写了个代理就勉强能用了。开发的过程中发现 Edge Functions 的 Catch-all 路由优先级是高于 Node Functions 所有路由的,只好把 Edge Functions 移动到了一个单独的目录下,当然这文档也没说明。

    总结

    总而言之,头疼的体验主要来自文档不清晰,其次交流严重依赖 IM 而不是工单系统,最后是非常草台的设计。

    第 1 条附言    3 天前

    问题 2 已在 [email protected] 中解决。

    第 2 条附言    3 天前
    代码仓库:<https://github.com/AkinoKaede/bark-edgeone>,有需要的可以部署一个玩玩
    13 条回复    2026-01-21 00:43:32 +08:00
    mrgeneral
        1
    mrgeneral  
       3 天前
    EdgeOne 模仿 CF 搞的,摊子铺的很大,但是做好要很多细节支撑
    ccdesue
        2
    ccdesue  
       3 天前
    现在国内 serverless 能替代 worker 当反代了吗?那感觉也还行
    AkinoKaedeChan
        3
    AkinoKaedeChan  
    OP
       3 天前
    @ccdesue #2 HTTP 肯定是可以的只要允许对外请求就行,这个 Cloud Functions (目前只有支持 Node.js 的 Node Functions )可以支持 WebSocke ,反向代理不知道违不违反 ToS 。
    swananan
        4
    swananan  
       3 天前
    体验差的原因是,这类项目想活下来或者飞速发展,得先搞定大客户,长尾或者白嫖类客户的体验暂时不会考虑
    Danswerme
        5
    Danswerme  
       3 天前
    歪个楼,关于问题 4 ,Vercel 的 Edge Function 不支持 HTTP2 ,Cloudflare Workers 开发环境不支持 HTTP2 ,但线上环境支持。
    AkinoKaedeChan
        6
    AkinoKaedeChan  
    OP
       3 天前
    @swananan 搞定个啥大客户,这玩意开发环境能炸掉生产环境,真有公司踩坑了那可要倒大霉了。我刚刚专门开了下 Cloudflare Workers 的开发环境,是本地模拟的,断网也能用……
    misaka19000
        7
    misaka19000  
       3 天前
    腾讯云 EO 边缘节点缓存过期不要太快,我们的资源动不动就几十 KB/S 的下载速度,很垃圾
    tencentcloud
        8
    tencentcloud  
       3 天前
    您好,感谢您对腾讯云 EdgeOne Pages 的详细使用反馈,对于此次体验未能达到您的预期,我们深表歉意。您指出的文档、CLI 工具、开发环境体验及功能支持等方面的问题,我们的产研团队已安排逐一跟进处理,相关进展如下:
    1 、问题一提及的相关文档将在今天完成补充完善
    2 、问题二已修复并发布,新版本的 CLI 将支持此设置
    3 、问题三会在设计上放大限制,预计今明两天发布上线
    4 、问题四会依赖底层架构,目前已在开发规划与推进中
    再次感谢您的监督与反馈!我们将持续优化产品体验、完善文档,并梳理支持流程。若还有其他疑问或建议,欢迎随时通过官方渠道与我们沟通。
    docx
        9
    docx  
       3 天前 via iPhone
    EdgeOne 目前还是小打小闹的状态,全是白嫖用户保不定什么时候停服了
    dif
        10
    dif  
       3 天前
    我记得 EdgeOne 有限速得嘞,所以我用了阿里云的 ESA 。不过特别希望 EdgeOne 和 ESA 能够内卷起来。
    AkinoKaedeChan
        11
    AkinoKaedeChan  
    OP
       3 天前
    @dif 有限速也不奇怪吧,我这单纯 API 而且自用。ESA Pages 好像没有上述问题,但是我看文档 KV 是要收费的。
    lizhenda
        12
    lizhenda  
       3 天前
    OP 的备案域名花了多久? EdgeOne 可以用来当图床吗?
    AkinoKaedeChan
        13
    AkinoKaedeChan  
    OP
       3 天前 via Android
    @lizhenda 备案的话大概两周,提交到管局后云服务商应该会根据近期案例给一个预估时间。
    EdgeOne 本身是 CDN ,可以回源到 COS 对象存储;如果说的是 EdgeOne Pages 的话理论上应该是可以的,不过似乎账号有容量大小限制。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2603 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 01:18 PVG 09:18 LAX 17:18 JFK 20:18
    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