CDN 相关基本概念解释
加速域名
加速域名即您需要使用CDN加速的域名。譬如我的网站 www.xiewo.net 想使用 cdn 加速,那么我的加速域名就是:www.xiewo.net
加速的业务类型
一般供应商会根据加速内容分为不同的加速类型,每个供应商的类型也可以不同,但是基本的大同小异。我们这里以阿里云的分类来介绍
图片小文件:若您网站的加速内容多为小型的静态资源 (如小文件、图片、网页样式文件等),
大文件下载 :若您的加速内容为较大的文件(大于20MB的静态文件),例如游戏安装包、应用更新、手机ROM升级、应用程序包下载等场景,推荐选择大文件下载业务类型。
视频点播加速:若您需要加速音频或视频文件,例如音乐、视频的点播业务场景,推荐使用视音频点播业务类型。
源站
可以理解为CDN数据源,您实际业务的服务器。可以是你业务服务器的 IP 地址,或者是另一个域名(注意这个域名不能和加速域名相同)
回源
回源就是当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回到源站去获取。如果没有人访问,那么CDN节点不会主动去源站拿的。
回源host
回源host是用于CDN回源到源站时的访问域名,即http请求包包头的host字段内容
例子1:源站是域名
源站为www.a.com 回源host为www.b.com
那么实际回源是请求到www.a.com解析到的IP,对应的主机上的站点www.b.com
例子2:源站是IP
源站为1.1.1.1 回源host为www.b.com
那么实际回源的是1.1.1.1对应的主机上的 站点www.b.com
源站与回源 HOST:源站配置的 IP/域名能够指引 CDN 节点回源时找到对应的源站服务器(服务器ip地址),服务器上可能存在若干 Web 站点,回源 HOST 指明了资源所在的站点。
过滤参数(会影响回源)
借助过滤参数开关,您可以根据实际业务需要,决定在缓存时是否过滤用户请求URL中 ? 之后的参数
CDN厂商在设置缓存的时候对于 Key 有两种策略:一种是按照文件名,将问号后面的参数去掉。另外一种是将所有的参数作为缓存Key的一部分。 然而,CDN默认为第二种,当然自己可以定义地。
Range 回源
开启 Range 回源配置能够有效提高大文件分发效率,提升响应速度。源站需要支持 Range 请求,否则会导致回源失败。对于大文件的下载,最好启用这个参数。大文件的定义就是你资源大小/带宽的传输时间,时间越大就可以说文件越大。
开启range回源
用户 A 请求资源: http://www.test.com/test.apk,节点收到请求后,发现缓存的test.apk文件已过期,此时发起回源请求,节点回源使用 Range 请求,分片获取资源并缓存。若此时用户乙发起的也为 Range 请求,当节点上存储的分片已满足 Range 中指定的字节段,则会直接返回给用户,无需等所有分片获取完毕。
不开启range回源
用户 A 请求资源: http://www.test.com/test.apk,节点收到请求后,发现缓存的test.apk文件已过期,此时发起回源请求,节点会直接向源站获取整个资源,待完整获取资源后再返回给用户
协议回源
指回源时使用的协议和客户端访问资源时的协议保持一致,即如果客户端使用HTTPS方式请求资源,当CDN节点上未缓存该资源时,节点会使用相同的HTTPS方式回源获取资源。同理,如果客户端使用HTTP协议的请求,CDN节点回源时也使用HTTP协议。
命中率
CDN命中率就成了评价一个CDN设置好坏的关键因素。CDN命中率是指用户访问的时候,命中缓存的概率。
用户访问一个使用了CDN的网站,请求会被解析到CDN节点。此时如果该CDN节点上已经缓存了用户要请求的内容,则直接CDN节点直接返回,无需再去源站取数据(这样就算命中缓存)。如果该CDN节点上没有缓存相应的内容,则会立即去源站获取,然后再返回给访问者,同时把内容缓存在该节点上(这样就没有命中缓存)。
CDN命中率又细分为CDN请求命中率和CDN字节命中率。CDN请求命中率是指一个时间段内所有请求命中缓存的概率。字节命中率是指一个时间请求的字节数命中缓存的概率。
一般一个充分优化设置的CDN,命中率能达到50-100%。影响CDN命中率的因素很多,主要看网站的类型。如果一个纯静态的网站,CDN缓存命中率会在90%以上。如果是动态内容的网站,因为只有图片、js、css等内容能够缓存,此时CDN命中率就会略低。
刷新url 、刷新目录、 预热
刷新功能是指提交URL刷新或目录刷新请求后,CDN节点的缓存内容将会被强制过期,当您向CDN节点请求资源时,CDN会直接回源站获取对应的资源返回给您,并将其缓存。刷新功能会降低缓存命中率。
预热功能是指提交URL预热请求后,源站将会主动将对应的资源缓存到CDN节点,当您首次请求时,就能直接从CDN节点缓存中获取到最新的请求资源,无需再回源站获取。预热功能会提高缓存命中率。
所以一般情况下,只有预热url没有预热目录,因为cdn不可能知道目录下内容。
资源热度
当访问量减少,热度较低之后,CDN节点对于资源的缓存时间根据热度的策略,而进行资源保存的时间不同。
意思是如果资源访问量少,热度太低,那么cdn会自动删除你缓存的内容。你无法控制。
后来了解到这个霸王条款阿里云同样存在,我想是为了cdn资源的利用吧。所以如果你网站的访问量不大,其实cdn发挥的作用很有限。
共 0 条评论