CDN 技术详解(DNS,GSLB,Cache)

CDN 是什么

       CDN(Content Delivery Network,内容分发网络),即全网内容加速服务。为了尽量的避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定,由此,诞生了 CDN 加速服务。数据库

 

CDN 的做用

       利用遍及全球(全国,或企业自行规划的各大城市及区域)的加速节点,帮助企业将业务内容发布至最接近用户的边缘节点,使用户的请求可以就近获得快速响应,无需进行屡次网络转发,避免请求受地域、带宽、服务器能力等因素影响致使的高延迟、低可用性等问题。浏览器

 

网站的传统访问过程

  1. 用户在浏览器中输入目标网站的 URL
  2. 浏览器向域名解析服务器(DNS,Domain Name System,域名系统,是因特网上域名和 IP 地址相互映射的一个分布式数据库)发出解析请求,得到此域名对应的 IP 地址
  3. 浏览器获得这个 IP 地址,向其对应的服务器发出访问请求
  4. 目标服务器对此做出响应,将数据回传至用户浏览器并显示出来

 

CDN 如何加速

       与传统访问方式不一样,CDN 网络则是在用户和服务器之间增长 Cache 层,将用户的访问请求引导到 Cache 节点而不是目标服务器站点,要实现这一目的,主要是经过接管 DNS 实现。缓存

       以腾讯 CDN 架构图为例:服务器

       176

       由上图可见,使用 CDN 缓存后的网站访问过程演变为: 网络

  1. 用户在浏览器中输入目标域名
  2. 浏览器向本地域名解析系统(Local DNS)发出解析请求
  3. 通过 DNS 递归查询,请求被转移至 Tencent DNS(GSLB,Global Server Load Balance,全局负载均衡)系统,此时尚未产生 Cache 层
  4. GSLB 返回最佳 CDN 接入节点的 IP,同时 Local DNS 缓存此接入节点(在此过程当中,会根据客户端的 IP 地址,地理位置,入网类型电信仍是网通,返回最佳接入节点)
  5. 用户对此 CDN 接入节点发起请求,CDN 网络通过内部路由,并转发请求至源服务器
  6. 源服务器返回响应的数据,CDN 节点将数据返回至 CDN 接入节点
  7. CDN 接入节点将数据返回给用户,同时缓存数据

       CDN 节点缓存了数据,任何用户再次请求这一份数据时,CDN 缓存会直接返回,并不须要再由源服务器进行处理,这大大的加快了数据往返的速度,对于静态资源的加速尤其显著。即使请求动态资源,好比动态页面,其中也是有许多的静态资源是不会常常改变的,只要控制好缓存机制,也会有明显的加速效果。架构

 

CDN 网络的架构及应用

       利用 CDN 网络,网站用户无需投资价值不菲的服务器、网络带宽及相应的人力成本,便能实现将网站内容发布到离终端用户距离最近、路由最短的网际边缘 Cache 节点,创造完美、快捷的网站使用体验。  负载均衡

       通常,CDN 网络主要由中心节点、边缘节点两部分构成。最简单的 CDN 网络只需一台负责全局负载均衡的 DNS 和各节点一台 Cache 便可运行。 DNS 支持根据用户源 IP 地址解析不一样的 IP,实现就近访问。为了保证高可用性,CDN 网管中心须要监控各节点的流量、健康情况。当一个节点的单台 Cache 承载数量不够时,才须要多台 Cache,多台 Cache 同时工做时,才须要负载均衡器,使 Cache 群协同工做。 分布式

       CDN 中心节点网站

           包括 CDN 网管中心和全局负载均衡 DNS 重定向解析系统,负责整个 CDN 网络的分发及管理。 视频

       CDN 网管中心

           是整个 CDN 可以正常运转的基础保证,它不只能对整个 CDN 网络中的各个子系统和设备进行实时监控,对各类故障产生相应的告警,还能够实时监测到系统中总的流量和各节点的流量,并保存在系统数据库中,使网管人员可以方便地进行进一步分析。一套完善的网管系统,容许用户按需对系统配置进行修改。

      全局负载均衡 DNS

           经过一组预先定义好的策略,将当时最接近用户的 Cache 节点地址提供给用户,使用户可以获得快速的服务。同时,它还与分布在各地的全部 CDN 节点保持持续通讯,搜集各节点的通讯状态,确保不会将用户的请求分发到不可用、或不健康的 Cache 节点上。

       CDN 边缘节点

           主要指异地分发节点,由负载均衡设备(若是缓存也须要集群的话)、高速缓存服务器两部分组成。 负载均衡设备负责每一个节点中各个 Cache 的负载均衡,保证节点的工做效率;同时还负责收集节点与周围环境的信息,保持与全局负载均衡 DNS 的通讯,实现整个系统的负载均衡。

       高速缓存服务器(Cache)

           负责存储客户网站的大量信息,就像一个靠近用户的网站服务器同样响应本地用户的访问请求。经过全局负载均衡 DNS 的控制,用户的请求被透明地指向离他最近的节点,节点中 Cache 服务器就像网站的原始服务器同样,响应终端用户的请求。因其距离用户更近,故其响应时间才更快。

 

CDN 供应商

       传统 CDN 供应商,市场份额较大的有:上海帝联科技、北京蓝汛通讯技术、北京快网科技、上海网宿科技等。现巨型互联网公司(百度、阿里巴巴、腾讯)也加入了其中。因为巨型互联网公司的介入,云技术的发展,会在必定方面打压传统 CDN 供应商,小型公司会更青睐这些巨型互联网公司,可是对于大型公司,传统CDN厂商的优点明显

 

CDN 的应用场景

       以 PPTV 视频网站来讲,同一时间,不一样城市的人都在使用客户端观看。向众多用户提供内容是由一个专门的网络完成的,这个网络咱们叫它内容分发网络(CDN)。

       另外,CDN 加速应用主要应用在如下 5 种场景:

  • 网站静态加速:包括图片、CSS、JS 等静态文件的加速
  • 全站加速:静态加速与动态加速结合,智能路由调度实现业务 0 改动全面加速整个网站访问速度
  • 下载服务:大文件下载,如游戏安装包和素材,APK 更新等
  • 图片服务:运用于 UGC 类社交图片应用
  • 流媒体:包括视频点播、视频直播、音视频通讯、安防监控
相关文章
相关标签/搜索