写点什么

3 分钟了解 CDN 的工作原理

作者:阿泽🧸
  • 2022-10-29
    北京
  • 本文字数:1130 字

    阅读完需:约 4 分钟

3分钟了解CDN的工作原理

CDN 系统的具体工作方式是怎样的呢?先看看没有 CDN 服务时,一个网站是如何向用户提供服务的。


网站系统基本上都是基于 B/S 架构的。B/S 架构,即 Browser/Server(浏览器/服务器)架构,是对传统 C/S 架构的一种变化或者改进架构。在这种架构下,用户侧只需要使用通用浏览器,而主要业务逻辑都在服务器端实现。B/S 架构利用不断成熟的 WWW 浏览器技术,结合浏览器的多种脚本语言(VBScript、JavaScript 等)和 ActiveX 等技术,在通用浏览器上实现了 C/S 架构下需要复杂的软件才能实现的强大功能。


用户通过浏览器方式访问网站的过程如图:

①用户在自己的浏览器中输入要访问网站的域名。

②浏览器向本地 DNS 服务器请求对该域名的解析。

③本地 DNS 服务器中如果缓存了这个域名的解析结果,则直接响应用户的解析请求。

④本地 DNS 服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个 DNS 系统请求解析,获得应答后将结果返回浏览器。

⑤浏览器得到的域名解析结果是该域名的相应服务设备的 IP 地址,浏览器会向这台服务器请求内容。

⑥服务器将用户请求内容传送给浏览器。


在网站和用户之间加入 CDN 以后,用户不会有任何与原来不同的感觉。最简单的 CDN 网络有一台 DNS 服务器和几台缓存服务器就可以运行了。一个典型的 CDN 用户访问调度流程如图。

①当用户点击网站页面上的内容 URL,经过本地 DNS 系统解析,DNS 系统会最终将域名的解析权交给 CNAME 指向的 CDN 专用 DNS 服务器。

②CDN 的 DNS 服务器将 CDN 的全局负载均衡设备 IP 地址返回给用户。

③用户向 CDN 的全局负载均衡设备发起内容 URL 访问请求。

④CDN 全局负载均衡设备根据用户的 IP 地址以及用户请求的内容 URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。

⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务。选择的依据包括:根据用户 IP 地址,判断哪一台服务器距用户最近;根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有用户需要的内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件进行综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的 IP 地址。

⑥全局负载均衡设备把服务器的 IP 地址返回给用户。

⑦用户向缓存服务器发起请求。缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至返回网站的源服务器拉回内容。


从以上流程可以看出,CDN 系统的专用 DNS 服务器根据用户 IP 地址将域名解析成相应节点的缓存服务器 IP 地址,从而实现了用户的就近访问。因此,使用 CDN 服务的网站,只需要将其域名解析权交给 CDN 的 DNS 服务器,再将分发的内容注入 CDN,就可以实现内容加速了。


发布于: 刚刚阅读数: 2
用户头像

阿泽🧸

关注

还未添加个人签名 2020-11-12 加入

还未添加个人简介

评论

发布
暂无评论
3分钟了解CDN的工作原理_CDN_阿泽🧸_InfoQ写作社区