一文看懂什么是CDN?CDN适合什么场景?

越来越多的网站、APP使用CDN缓存,CDN甚至成为建站标配了,站长帮近期讲的技术主题就是CDN。通过观察CDN的技术来看CDN的产业发展,就能看出CDN将是云计算不可分割的一部分。通过了解理论基础,在脑中形成一个基本的知识轮廓,使用起来才能游刃有余。

什么是 CDN?

CDN的全称是Content Delivery Network,即内容分发网络,也称内容传送网络。它是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,能够解决因分布、带宽、服务器性能带来的访问延迟问题,提升可用性。

CDN是如何起作用的?

传统的http访问过程是用户在浏览器填入要访问的域名;浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址,并通过这个IP地址,向域名的服务主机发出数据访问请求,得到请求数据,最终返回所需要的内容。

CDN加速原理
CDN加速原理

使用了CDN缓存后的网站访问过程:

  1. 用户向浏览器提供要访问的域名;
  2. 浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用全局负载均衡 DNS解析,并根据地理位置信息解析对应的IP地址,使得用户能就近访问;
  3. 此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
  4. 缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
  5. 缓存服务器从实际IP地址得到内容以后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程;
  6. 客户端得到由缓存服务器返回的数据后显示出来并完成整个浏览的数据请求过程。

什么场景适合用CDN?

网站加速

门户网站、电商、UGC 社区等业务场景,CDN 提供了强大的静态内容(如网页样式、图片、小文件)加速分发处理能力,显著提升了网页用户的体验。

下载加速

游戏安装包获取、手机 ROM 升级、应用程序包下载等业务场景,CDN 提供稳定、优质的下载加速。海量弹性带宽储备,具备突发性超大流量承载能力,可以让业务用户获得极速的下载体验。

音视频加速

在线音视频播放业务场景,CDN 能提供稳定、流畅、丰富的观看体验。

CDN解决什么问题?

  1. 解决网络带宽较小,用户访问资源慢。使用CDN降低带宽成本,提升用户访问体验;
  2. 用户访问量大,服务器硬盘读写压力大。使用CDN降低服务器成本;
  3. 自建数据中心分布地域较少,离访问用户物理距离远,用户访问网络传输时间长。使用CDN通过就近算法,快速响应请求,提升用户访问体验。

国内有哪些知名CDN服务商

阿里云CDN:2800+ 全球节点,150T带宽能力,六大洲覆盖。缺点:HTTPS请求数另外计费。

腾讯云CDN:遍布全球70+国家与地区,全网带宽150Tbps+。中国境内含2000+加速节点,覆盖移动、联通、电信及十几家中小型运营商,中国境外含800+加速节点。新用户前6个月有免费额度。

百度云CDN:百度自建的1000+优质节点、100T+带宽、单节点80G-160G。特点是动态加速服务。另外百度旗下的百度云加速也是一款基于CDN的产品。

网宿科技CDN:连续八年商用CDN市场份额全国第一,1500+全球节点,70多个国家与地区覆盖,超100+运营商支持。除了价格较高,没啥可吐槽。

又拍云:1100+ 全球节点,10Tbps 带宽储备,国内主流运营商支持,通过 TCP 协议优化、链路优化、内容优化、智能调度等技术手段,加速性能平均提升 100% 以上。

七牛云:在传统 CDN 基础上实现的对数据网络加速进一步优化的智能管理服务。通过全方位的 CDN 质量监控,以及智能易用的节点调度等功能,提供稳定快速的网络访问服务。全球 2000+节点。


发表评论