火云邪神讲:天下武功唯快不破!同样,在现代社会中,如果做事情不讲究速度,那么势必会落后于他人。
而随着Internet技术和多媒体技术的不断发展,网络服务已经与我们的生活不可分割,例如:移动支付、视频电话……自媒体的发展,更是让短视频服务成为了每个上网人的首要选择。
但是,视频网站的容量是有限的,在为各地区的人们提供服务时,网络访问距离过长(例如:视频服务器在北京,访问的用户在南京,那么传输的距离比较长),用户与网站之间的链路被突发的大流量数据拥塞(例如:春晚时,全国十几亿人都同时接入视频服务器,链路多了会导致网络通道堵塞),都将导致网络负载迅速增加,从而使用户的访问质量受到严重影响。例如:网页登录延迟、视频卡顿……
那么,在网络世界中,谁为我们提供了速度保障呢?那就是我们的幕后英雄:CDN。
01
什么是CDNCDN:Content Delivery Network,即内容分发网络。
拆开解释:
- 内容:指的是静态资源。
- 静态资源:前端的固定页面,无需查数据库,也不需要程序处理,直接能显示的页面。例如:图片、视频、文档、JS、CS、HTML。
- 分发网络:指的是将静态资源分发到不同地理位置的服务器。
课代表总结:CDN就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担
02
CDN的访问机制现在,我们已经了解了CDN的内容。那么,在网络上部署了CDN后,用户访问服务器时,CDN具体是怎么发挥作用的呢?
CDN的工作机制,优点类似京东的仓储系统。即提前在各地仓库储备好商品,当用户下单后,则直接从用户所在城市的仓库发货,缩短了物流的时间。
1. “客户端”通过浏览器访问服务器。
2. 浏览器调用域名解析库对域名进行解析,得到CDN缓存服务器的IP地址(即边缘节点)。
3. 浏览器使用得到的IP地址,向缓存服务器发出访问请求。(类比为:南京的文档君在京东上下单购买某件商品A)
4. CDN缓存服务器判断是否存在已缓存的内容,并进行对应的操作。(类比为:京东系统查看南京的仓储中心是否有商品A)存在待缓存的内容:将对应的数据返回给客户端。(南京的
仓储中心有商品A,则直接从南京仓储中心发货给南京的文档君)不存在待缓存的内容或待缓存的内容失效:缓存服务器从实际IP地址(即中心节点)获取内容。获取内容后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程。(南京的仓储中心没有商品A,则从总仓储中心发货给南京的文档君)说明:边缘节点缓存的内容可通过CDN缓存配置进行维护, 且若中心节点的发生变化,则缓存服务器中对应的内容失效。
5. “客户端”得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
03
CDN的架构CDN的网络架构由节点组成,每个节点包括高速缓存服务器(Cache)和负载均衡设备。
CDN网络架构的三种节点:
- 中心节点:指CDN网管中心和DNS重定向解析中心负责全局负载均衡和内容管理,设备系统安装在管理中心机房(即视频网站的主服务器)。存储所有内容,为边缘节点未命中的用户提供服务。例如:深圳。区域中心节点:可按要求存储全部或部分内容,为边缘节点未命中的用户提供服务。例如:南京。边缘节点:指异地节点,CDN分发的载体,就近为用户提供流媒体服务。例如:南京的雨花台区。
每个节点的组成:
-
- 高速缓存服务器(Cache):负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。负载均衡设备:负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
CDN的网络架构有三种模式:
-
- 二级架构
三级架构
混合架构
混合组网架构是二级组网架构和三级组网架构的结合。在该区域的用户发展规模较小时,暂时采用边缘节点和中心节点二级架构提供服务。随着用户数量的发展,当该区域的用户规模达到一定数量时,添加区域中心节点,为该区域提供三级架构服务。
结语
关于CDN的内容就讲这么多了,一句话秒懂总结:CDN其实就是一个幕后英雄,他承担的是搬运工的工作,即提前将内容搬运到我们附近,让我们能尽快获取对应的内容。