CDN

一、CDN的概念

  • 概念:CDN(Content Delivery Network)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
  • 内容分发网络

二、CDN的使用场景

  • 使用第三方的CDN服务
    • 如果想要开源一些项目,可以使用第三方的CDN服务。
  • 使用CDN进行静态资源的缓存
    • 将自己网站的静态资源放在CDN上,比如js、css、图片等。可以将整个项目放在CDN上,完成一键部署。
  • 直播传送
    • 直播本质上是使用流媒体进行传送,CDN也是支持流媒体传送的,所以直播完全可以使用CDN来提高访问速度。CDN在处理流媒体的时候与处理普通静态文件有所不同,普通文件如果在边缘节点没有找到的话,就会去上一层接着寻找,但是流媒体本身数据量就非常大,如果使用回源的方式,必然会带来性能问题,所以流媒体一般采用的都是主动推送的方式来进行。

三、CDN的作用

  • CDN一般会用来托管Web资源(包括文本、图片和脚本等),可供下载的资源(媒体文件、软件、文档等),应用程序(门户网站等)。使用CDN来加速这些资源的访问。
    • 性能方面,引入CDN的作用在于:
      • 用户收到的内容来自最近的数据中心,延迟更低,内容加载更快。
      • 部分资源请求分配给了CDN,减少了服务器的负载。
    • 安全方面,CDN有助于防御DDoS、MITM等网络攻击:
      • 针对DDoS:通过监控分析异常流量,限制其请求频率。
      • 针对MITM:从源服务器到 CDN 节点到 ISP(Internet Service Provider),全链路 HTTPS 通信。
    • 除此之外,CDN作为一种基础的云服务,同样具有资源托管、按需扩展(能够应对流量高峰)等方面的优势。

四、CDN的原理

  • 用户未使用CDN缓存资源的过程

    10年积累的成都做网站、网站制作、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有温江免费网站建设让你可以放心的选择与我们合作。

    • 1.浏览器通过DNS对域名进行解析,依次得到此域名对应的IP地址。
    • 2.浏览器根据得到的IP地址,向域名的服务主机发送数据请求。
    • 3.服务器向浏览器返回响应数据。
  • 用户使用CDN缓存资源的过程

    • 1.对于点击的数据的URL,经过本地DNS系统的解析,发现该URL对应的是一个CDN专用的DNS服务器,DNS系统就会将域名解析权交给CNAME指向的CDN专用的DNS服务器。

      • CNAME(意为:别名):在域名解析中,实际上解析出来的指定域名对应的IP地址,或者该域名的一个CNAME,然后再根据这个CNAME来查找对应的IP地址。
    • 2.CDN专用DNS服务器将CDN的全局负载均衡设备IP地址返回给用户。

    • 3.用户向CDN的全局负载均衡设备发起数据请求。

    • 4.CDN的全局负载均衡设备根据用户的IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备。

    • 5.区域负载均衡设备选择一台合适的缓存服务器来提供服务,将该缓存服务器的IP地址返回给全局负载均衡设备。

    • 6.全局负载均衡设备把服务器的IP地址返回给用户,告诉用户向这台设备发起请求。

    • 7.用户向该缓存服务器发起请求,缓存服务器响应用户的请求,将用户所需内容发送至用户终端。

    • 8.如果缓存服务器没有用户想要的内容,那么缓存服务器就会向它的上一级缓存服务器请求内容,以此类推,直到获取到需要的资源。最后如果还是没有,就会回到自己的服务器去获取资源。


分享文章:CDN
标题来源:http://myzitong.com/article/dsojiph.html