139-8950-0275

绍兴云远网络热线
首页 >> 小程序 >>小程序专业知识 >> 如何在云开发中优雅地管控 CDN 流量?-绍兴网站建设为你呈现
详细内容

如何在云开发中优雅地管控 CDN 流量?-绍兴网站建设为你呈现

时间:2022-05-10     作者:绍兴网站建设【转载】   来自:微信派

在社区中,有不少使用云开发的小伙伴反馈遇到了“CDN流量消耗过快”的情况。

有一觉醒来超额的:


image.png
有被高质量图片的加载“吓”到不敢用的:
要知道,云开发已经支持按量付费模式,业务闲置时 CDN 流量消耗也会显著降低,但如果仍然遇到了以上情况,不要慌,除了和特定的业务类型有关,还可能是你的使用姿势不对!


那么问题来了,如何在云开发中优雅地管控 CDN 流量消耗呢?本文就和你详细聊聊!




01

什么是CDN流量?

我们在使用云开发时,几乎在各处都会看到CDN这个词。

CDN又称内容分发网络,通俗来讲就是将你主存储(源站)中的文件,复制给各地的存储点(CDN节点),当有用户访问这个资源时,直接从就近的存储点(CDN节点)获取即可。

云开发的云存储和静态网站托管天然支持 CDN 加速,所以你的用户通过客户端下载文件跑的流量都是 CDN 流量。

以上 CDN 流量只适用于各种渠道走加速公网下载文件的情况,比如浏览器加载网站,客户端下载资源,外部系统请求文件,通过临时地址的各种访问打开文件都在消耗 CDN 流量。

但是如果是内网访问文件,则不走 CDN 流量消耗,比如在云函数中通过 fileID 访问文件等。




02

什么是CDN回源流量?

当我们的存储中有文件更新时,存储在 CDN 节点的旧文件又该如何处理呢?在这里引入一个知识点——缓存时间

这里的缓存时间其实就是文件副本在各地存储点(CDN节点)的有效时间,比如默认是两小时,那么每次文件副本在各地存储点的有效时间就是两小时,超过这个时间之后再收到请求时,存储点(CDN节点)就会丢弃过期的旧文件,向主存储(源站)请求最新的文件,而这一请求所产生的流量就称为 CDN 回源流量。

缓存时间既不能太长也不可太短,如果 CDN 缓存间隔时间过短,那么 CDN 节点上的数据会经常失效,导致频繁回源,增加了源站的负载,进而影响了整体的传输效率;如果缓存间隔时间过长,会带来数据更新不及时等严重的业务问题。

云开发控制台中的云存储就提供了非常细微颗粒度的缓存时间设置,你可以针对某一个文件、某一个路径甚至是文件后缀来进行分别设置。


另外,多个缓存规则设置中还有优先级策略,调配变得更加灵活。

云存储是以从后到前的配置模式来做策略计算的,比如一个云存储的域名做了如下缓存配置:

现在请求此路径下资源/test/abc.jpg,其从后到前匹配方式如下:

匹配第一条所有文件,命中,此时缓存时间为 2 分钟;

匹配第二条,未命中;

匹配第三条,命中,此时缓存时间为300秒;

匹配第四条,命中,此时缓存时间为400秒;


匹配第五条,命中,此时缓存时间为200秒。


03

如何合理管控CDN?

我们需要把握一个原则:

缩减大小,善用缓存

缩减大小的意思就是,我们在开发应用时,所需要的多媒体文件,如果没有特殊要求(比如摄像馆的原图发送),需要尽可能的压缩。只有减轻了业务资源的大小,才能够根本的减少流量资源的消耗。

另外,用户在上传多媒体资源时,仍然可以使用平台或框架能力对资源进行压缩后再上传,保证资源都是经过优化后进入存储,这样在请求下载时就会减轻很多负担。

善用缓存意思就是同一个用户、同一份资源尽可能不要请求一次以上,要合理使用客户端的本地缓存能力,将固定资源全部缓存。当用户再此进入时,直接使用缓存的资源。

再送给大家一句云云学长的金句:“缓存用的好,达到 PV 的效果用的只是 UV 的量。”

而在具体使用时,大家还是需要根据自己的业务情况来合理把握。比如你的资源变更非常频繁,就不太适合缓存优化;而你的资源不能压缩,要保持原大小,则就不适合压缩优化。




04

结语

以上攻略送给各位 hold 不住 CDN 流量的小伙伴们,如果大家觉得 CDN 消耗如流水,用户活跃却没有多少起色,可能就需要好好检查一下自己哪里浪费了。勤俭节约可是中华民族的传统美德,云开发虽好,也需要节约使用哦~


作者:云云学长。本文转载自 腾讯云开发CloudBase。


阅读原文

技术支持: 杭州云远科技有限公司 | 管理登录
seo seo