火云邪神讲:天下武功唯快不破!同样,在现代社会中,如果做事情不讲究速度,那么势必会落后于他人。

但是,视频网站的容量是有限的,在为各地区的人们提供服务时,网络访问距离过长,用户与网站之间的链路被突发的大流量数据拥塞(例如:春晚时,全国十几亿人都同时接入视频服务器,链路多了会导致网络通道堵塞),都将导致网络负载迅速增加,从而使用户的访问质量受到严重影响。例如:网页登录延迟、视频卡顿……

那么,在网络世界中,谁为我们提供了速度保障呢?那就是我们的幕后英雄:CDN。

01、什么是 CDN

CDN:Content Delivery Network,即内容分发网络。

拆开解释:

  • 内容:指的是静态资源。

  • 分发网络:指的是将静态资源分发到不同地理位置的服务器。

课代表总结

CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担

02、CDN 的访问机制

现在,我们已经了解了 CDN 的内容。那么,在网络上部署了 CDN 后,用户访问服务器时,CDN 具体是怎么发挥作用的呢?

CDN 的工作机制,优点类似京东的仓储系统。即提前在各地仓库储备好商品,当用户下单后,则直接从用户所在城市的仓库发货,缩短了物流的时间。

1. “客户端”通过浏览器访问服务器。

2. 浏览器调用域名解析库对域名进行解析,得到 CDN 缓存服务器的 IP 地址。

3. 浏览器使用得到的 IP 地址,向缓存服务器发出访问请求。

4. CDN 缓存服务器判断是否存在已缓存的内容,并进行对应的操作。

存在待缓存的内容:将对应的数据返回给客户端。

不存在待缓存的内容或待缓存的内容失效:缓存服务器从实际 IP 地址获取内容。获取内容后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程。(南京的仓储中心没有商品 A,则从总仓储中心发货给南京的文档君)

说明:边缘节点缓存的内容可通过 CDN 缓存配置进行维护,且若中心节点的发生变化,则缓存服务器中对应的内容失效。

5. “客户端”得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。

03、CDN 的架构

CDN 的网络架构由节点组成,每个节点包括高速缓存服务器和负载均衡设备。

CDN 网络架构的三种节点:

  • 中心节点:指 CDN 网管中心和 DNS 重定向解析中心负责全局负载均衡和内容管理,设备系统安装在管理中心机房。存储所有内容,为边缘节点未命中的用户提供服务。例如:深圳。

  • 区域中心节点:可按要求存储全部或部分内容,为边缘节点未命中的用户提供服务。例如:南京。

  • 边缘节点:指异地节点,CDN 分发的载体,就近为用户提供流媒体服务。例如:南京的雨花台区。

每个节点的组成:

  • 高速缓存服务器:负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。

  • 负载均衡设备:负责每个节点中各个 Cache 的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载 DNS 的通信,实现整个系统的负载均衡。

CDN 的网络架构有三种模式:

二级架构

三级架构

混合架构

混合组网架构是二级组网架构和三级组网架构的结合。

在该区域的用户发展规模较小时,暂时采用边缘节点和中心节点二级架构提供服务。

随着用户数量的发展,当该区域的用户规模达到一定数量时,添加区域中心节点,为该区域提供三级架构服务。

结语

关于 CDN 的内容就讲这么多了,一句话秒懂总结:CDN 其实就是一个幕后英雄,他承担的是搬运工的工作,即提前将内容搬运到我们附近,让我们能尽快获取对应的内容。