网站加速之CDN与回源

网站加速之CDN与回源,第1张

在常见的请求场景中,往往十之八九都是来自于资源的访问,那么如何将服务器里的资源js.,css,jpg等静态资源完美的平滑迁移到cdn上,让cdn应对资源的访问,从而减轻对服务器的压力呢?

CDN+OSS+回源服务器

1.申请域名

2.获得一个SSL证书

3.申请一个OSS

第一步:

我们在七牛申请一个OSS对象存储的空间:

第二步:

将其绑定一个域名:

第三步:

1.等待txt验证

第四步:

1.等cdn域名验证通过,将cdn回源到我们开始创建的im-oss空间

至此就完成了cdn与oss的配置,具体流程是 用cdn域名访问静态资源后,如cdn服务器上没有该资源将立即回源到oss,请求oss对象存储里的资源,如果oss也没有该资源,oss将立即回源访问我们的原始服务器抓取文件并存储到oss,并缓存到cdn服务器

cdn回源m3u8。因为m3u8视频流相对于rtmp视频流更稳定,同时也不需要浏览器的flash支持。使用m3u8格式文件主要因为可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配一个合适的码率文件进行播放,从而保证视频的流畅度。而rtmp视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式为主,不能实现多格式转换。所以cdn回源m3u8。

网上查了下资料,回源大致是指浏览器在发送请求报文时,响应该请求报文的是源站点的服务器,而不是各节点上的缓存服务器,那么这个过程相对于通过各节点上的缓存服务器来响应的话就称作为回源。回源的请求或流量太多的话,有可能会让源站点的服务器承载着过大的访问压力,进而影响服务的正常访问。

其实回源比和缓存的命中率正好相反,回源比高,说明缓存系统的缓存命中率低。回源比分为回源请求数比例和回源流量比例两种。

回源请求数比例 :收集所有边缘节点上的请求记录,没有缓存或缓存过期的请求以及不可缓存的请求均被作为回源请求,发往源站点服务器响应。其他的请求则由缓存系统直接使用缓存响应。其计算公式为: 回源请求数/(回源请求数+用户发送的请求数) 。

回源流量比 :即用户所产生的流量当中,有多少流量是直接有源站点服务器响应的,其计算公式为: 回源流量/(回源流量+用户请求访问的流量)

CDN,即Content Delivery Network,内容分发网络,其搭建的思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,尽量使内容传输的更快更稳定。CDN通过在网络边缘部署边缘服务器,依靠CDN中心平台的负载均衡、内容分发及调度等功能,使用户就近获取所需的内容,降低网络拥堵,提高用户访问响应速度和命中率。所以基本上CDN就是广泛采用各种缓存服务器,使得用户的请求直接由这些缓存服务器响应,加快了响应速度;只有在用户请求的资源在缓存服务器上没有找到或者请求访问的资源在源站点服务器上已经修改过的情况下,缓存服务器才会去访问源站点服务器以获取最新的资源。

下图为常见的CDN架构:

在CDN环境下,web访问数据通常会经历客户端本地缓存和CDN边缘节点缓存两个阶段。如果这两个阶段均无法响应客户的请求的话,那么最后会由CDN节点向源站点发起回源请求,进而从源站点获取最新的数据,更新CDN节点的本地缓存,最后将最新的数据返回给客户端。

CDN节点的缓存机制也是遵循http协议,因此也会受到Cache-Control等字段的影响。与此同时,CDN上的缓存时间的长短会对回源率产生直接的影响。若CDN缓存时间较短,CDN边缘节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大的访问延时;若CDN缓存时间太长,会带来数据更新时间慢的问题。因此开发者需要增对特定的业务,来做特定的数据缓存时间管理。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/394.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-01-28
下一篇2023-01-28

发表评论

登录后才能评论

评论列表(0条)

    保存