首页
TVP 最新优惠活动
学习
活动
专区
工具
返回腾讯云官网
在微信开放社区中,有不少使用云开发的小伙伴反馈遇到了“CDN流量消耗如流水”的情况。
有一觉醒来超额的:
有被高质量图片的加载“吓”到不敢用的:
遇到以上情况不要慌,很可能是你的使用姿势不对!
那么问题来了,如何在云开发中优雅地管控 CDN 流量消耗呢?本文就来和你详细聊聊!
为了便于理解,先来看看云开发的流量计费模式。
简单来说,按量计费就是:你有多少个量跑出去了,就给你算多少量;但是它并不限制你同一时间跑出去的量,也就是流量峰值不设限。
如果你在同一时间需要跑出去100M的量,那么峰值就给你开到100M,在同一时间跑完,最后算费用是100M的钱。
而管道付费则是限制给你开多宽的“道路”,按照这个“道路”的宽窄收费,比如你选择1M的网络道路,那就按照1M的价格来收钱;在使用时,你的量只能达到1M的速度,再也高不了了,这个最大速度就被称做带宽。
但是即使低峰没多少量时,你还必须为这个“道路”付钱。还是上述例子,你同一时间需要跑出去100M,但是速度只能给你开到1M,那么这些量在100秒后才可以走完,最后算费用是1M的道路租金*租用时长。
而在现实项目中,总会有业务的高峰和低峰,流量几乎不可能始终保持在一个恒定的速率,这就会造成管道计费有速度的天花板、但闲置时仍在计费的资源浪费问题。
云开发作为 Serverless 云原生一体化后端服务,提供的流量是按量计费的,不限制同一时刻的流量速度,因此,如果开发者使用不合理就会导致流速过快,进而造成“一眨眼的功夫,流量就超额了”的情况。
了解了按量付费和管道付费的区别后,咱们进入正题,说说 CDN。
我们在使用云开发时,几乎在各处都会看到CDN这个词。
CDN又称内容分发网络,通俗来讲就是将你主存储(源站)中的文件,复制给各地的存储点(CDN节点),当有用户访问这个资源时,直接从就近的存储点(CDN节点)获取即可。
云开发的云存储和静态网站托管天然支持 CDN 加速,所以你的用户通过客户端下载文件跑的流量都是 CDN 流量。
以上 CDN 流量只适用于各种渠道走加速公网下载文件的情况,比如浏览器加载网站,客户端下载资源,外部系统请求文件,通过临时地址的各种访问打开文件都在消耗 CDN 流量。
但是如果是内网访问文件,则不走 CDN 流量消耗,比如在云函数中通过 fileID 访问文件等。
当我们的存储中有文件更新时,存储在 CDN 节点的旧文件又该如何处理呢?在这里引入一个知识点——缓存时间。
这里的缓存时间其实就是文件副本在各地存储点(CDN节点)的有效时间,比如默认是两小时,那么每次文件副本在各地存储点的有效时间就是两小时,超过这个时间之后再收到请求时,存储点(CDN节点)就会丢弃过期的旧文件,向主存储(源站)请求最新的文件,而这一请求所产生的流量就称为 CDN 回源流量。
缓存时间既不能太长也不可太短,如果 CDN 缓存间隔时间过短,那么 CDN 节点上的数据会经常失效,导致频繁回源,增加了源站的负载,进而影响了整体的传输效率;如果缓存间隔时间过长,会带来数据更新不及时等严重的业务问题。
云开发的云存储就提供了非常细微颗粒度的缓存时间设置,你可以针对一个文件、一个路径甚至是文件后缀来进行分别设置。
另外,多个缓存规则设置中还有优先级策略,调配变得更加灵活。
云存储是以从后到前的配置模式来做策略计算的,比如一个云存储的域名做了如下缓存配置:
现在请求此路径下资源/test/abc.jpg,其从后到前匹配方式如下:
匹配第一条所有文件,命中,此时缓存时间为 2 分钟。
匹配第二条,未命中。
匹配第三条,命中,此时缓存时间为300秒。
匹配第四条,命中,此时缓存时间为400秒。
匹配第五条,命中,此时缓存时间为200秒。
我们需要把握一个原则:
缩减大小,善用缓存。
缩减大小的意思就是,我们在开发应用时,所需要的多媒体文件,如果没有特殊要求(比如摄像馆的原图发送),需要尽可能的压缩。只有减轻了业务资源的大小,才能够根本的减少流量资源的消耗。
另外,用户在上传多媒体资源时,仍然可以使用平台或框架能力对资源进行压缩后再上传,保证资源都是经过优化后进入存储,这样在请求下载时就会减轻很多负担。
善用缓存意思就是同一个用户、同一份资源尽可能不要请求一次以上,要合理使用客户端的本地缓存能力,将固定资源全部缓存。当用户再此进入时,直接使用缓存的资源。
例如,微信小程序官方就提供了图片缓存配置,开启后所有图片均进行缓存,下次读取相同资源时,直接从缓存中读取。
文档链接:http://mrw.so/6wT3TR
再送给大家一句网络金句:缓存用的好,PV 的效果用的只是 UV 的量。
而在具体使用时,大家还是需要根据自己的业务情况来合理把握。比如你的资源变更非常频繁,就不太适合缓存优化;而你的资源不能压缩,要保持原大小,则就不适合压缩优化。
腊八佳节,诚邀各位 云开发者参与 小程序·云开发「错误监控」功能有奖调研,参与即送小礼品。
期待您的宝贵建议,快扫描下图中的二维码参与吧!
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等serverless化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
开通云开发: <https://console.cloud.tencent.com/tcb?tdl_anchor=techsite>
产品文档: <https://cloud.tencent.com/product/tcb?from=12763>
技术文档: <https://cloudbase.net?from=10004>
技术交流加Q群:601134960
最新资讯关注微信公众号【腾讯云云开发】
本文分享自 腾讯云开发CloudBase 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
玻璃钢生产厂家梓丰玻璃钢雕塑厂商场室外美陈价格海南玻璃钢雕塑作品荆门玻璃钢考拉雕塑批发赤峰玻璃钢雕塑厂玻璃钢佛像雕塑的种类兰州玻璃钢雕塑制作工厂上海仿铜玻璃钢雕塑销售厂家普洱玻璃钢雕塑零售安徽抽象玻璃钢雕塑多少钱平凉卡通玻璃钢雕塑制作佛山口碑不错玻璃钢卡通雕塑浙江抽象玻璃钢雕塑图片陆川玻璃钢泡沫雕塑价格商场玻璃钢卡通雕塑供货玻璃钢草莓公仔雕塑随州玻璃钢雕塑加工宁波景观玻璃钢雕塑价位河南省玻璃钢雕塑哪家好岳麓玻璃钢造型雕塑兰州雕塑玻璃钢福建多彩玻璃钢雕塑方法武定宇雕塑玻璃钢德州玻璃钢雕塑商家长沙人物玻璃钢雕塑价位武威玻璃钢雕塑安装山西人物玻璃钢雕塑安装梅州玻璃钢公园雕塑城市标志玻璃钢雕塑哪家好贵州雕塑玻璃钢香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万