CDN 是个啥


CDN主要功能是在不同的地点缓存内容,通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容,比如说,是北京的用户,我们让他访问北京的节点,深圳的用户,我们让他访问深圳的节点。通过就近访问,加速用户对网站的访问。解决Internet网络拥堵状况,提高用户访问网络的响应速度。



简单介绍下CDN与传统网站访问的区别:

传统访问访问:<img src="https://pic2.zhimg.com/f9708de32d641358e47edc96307775d5_b.png" data-rawwidth="433" data-rawheight="444" class="origin_image zh-lightbox-thumb" width="433" data-original="https://pic2.zhimg.com/f9708de32d641358e47edc96307775d5_r.png">

使用了CDN的网站访问:
<img src="https://pic4.zhimg.com/79c1abc468349073fb433d0949423717_b.png" data-rawwidth="824" data-rawheight="567" class="origin_image zh-lightbox-thumb" width="824" data-original="https://pic4.zhimg.com/79c1abc468349073fb433d0949423717_r.png">

与传统访问方式不同,CDN网络则是在用户和服务器之间增加缓存层,将用户的访问请求引导到最优的缓存节点而不是服务器源站点,从而加速访问速度。


加速过程:



1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;

2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统;

3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;

4.用户向该IP节点(CDN服务器)发出请求;

5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;

6.请求结果发给用户。




<img src="https://pic4.zhimg.com/049b124feb55100ff2f147b768ad4c8b_b.png" data-rawwidth="400" data-rawheight="423" class="content_image" width="400">

总结一下CDN的工作原理:通过权威DNS服务器来实现最优节点的选择,通过缓存来减少源站的压力。


CDN应用场景:


静态网页

图片小文件、博客


大文件下载

软件下载、视频点播或图片存储网站


动态加速

直播网站


应用加速

手机APP


最后看一下使用了CDN后的实际访问效果

<img src="https://pic4.zhimg.com/2e6b0715d5759589e79664678c157963_b.png" data-rawwidth="870" data-rawheight="364" class="origin_image zh-lightbox-thumb" width="870" data-original="https://pic4.zhimg.com/2e6b0715d5759589e79664678c157963_r.png">

上图数据来源于腾讯云CDN,对比用户的网站使用了CDN和没有使用CDN的效果,帮助大家更形象的理解CDN解决什么问题。

不用CDN时,访问请求导源站用的时间是1.27S。

而使用了腾讯云CDN后,会将这个访问时间缩短为0.29s,访问速度提高了5倍,而且可用性也可以得到很好的提升,原因是CDN的网络的链路质量都比较好。