CDN回源原理和CDN多级缓存是什么

  介绍

本篇内容主要讲解“CDN回源原理和CDN多级缓存是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CDN回源原理和CDN多级缓存是什么”吧!

<节>


,

CDN回源

,

回源原理

<李>

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

<李>

回源域名一般是CDN领域的专业术语,通常情况下,是直接用ip进行回源的,但是如果客户源站有多个ip,并且ip地址会经常变化,对于CDN厂商来说,为了避免经常更改配置(回源ip),会采用回源域名方式进行回源,这样即使源站的ip变化了,也不影响原有的配置。

<李>

常规的CDN都是回源的。即:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取。如果没有人访问,那么CDN节点不会主动去源站拿的。

<李>

源站内容有更新的时候,源站可以主动把内容推送到CDN节点。参考阿里云URL预热https://help.aliyun.com/knowledge_detail/40106.html?spm=a2c4e.11153987.0.0.419f6ec5UvPSJ1

<李>

CDN本来是给我们的网站加速的,但是有时会因为不合适的回源策略给服务器带来负担,只有选择正确的策略才能给自己的网站带来更高的访问效率。

,

CDN回源率计算方法

回源比分为回源请求数比例及回源流量比例两种:

,

回源请求数比

统计数据来自所有边缘节点上的请求记录,其中,对于没有缓存或缓存过期(可缓存)的请求以及不可缓存的请求,均计入回源请求中,其他直接命中缓存的,则为命中请求。

,

回源流量比

回源流量是回源请求文件大小产生的流量和请求本身产生的流量,回源流量比=回源流量/回源流量+用户请求访问的流量

,

CDN常见多级缓存

,

CDN概念

CDN的全称是内容分发网络,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快,更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接,负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决互联网网络拥挤的状况,提高用户访问网站的响应速度。

,

CDN工作方法

客户端浏览器先检查是否有本地缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束,如果数据已经过期,那么CDN还需要向源站发出回源请求(回源请求),来拉取最新的数据.CDN的典型拓扑图如下:

 CDN回源原理和CDN多级缓存是什么

<人物>
CDN的典型拓扑图

  ,,

CDN层级划分:

<李>

CDN系统中,直接面向用户,负责给用户提供内容服务的的缓存设备都部署在整个CDN网络的边缘位置,所以将这一层称为边缘层。

<李>

CDN系统中,中心层负责全局的管理和控制,同时也保存了最多的内容缓存。在边缘层设备未能命中缓存时,需要向中心层设备请求;而中心层未能命中时,则需要向源站请求。不同的CDN系统设计存在差异,中心层可能具备用户服务的能力,也可能只会向下一层提供服务。

<李>

如果CDN系统比较庞大,边缘层向中心层请求内容太多,会造成中心层负载压力太大。此时,需要在中心层和边缘层之间部署一个区域层,负责一个区域的管理和控制,也可以提供一些内容缓存供边缘层访问。

,

CDN缓存

浏览器本地缓存失效后,浏览器会向CDN边缘节点发起请求。类似浏览器缓存,CDN边缘节点也存在着一套缓存机制。

,

CDN缓存的缺点

CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。但其缺点也很明显:当网站更新时,如果CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl + F5的方式使浏览器端的缓存失效,也会因为CDN边缘节点没有同步最新数据而导致用户访问异常。

CDN回源原理和CDN多级缓存是什么