齐普夫定律揭示了一个引人深思的现象:最受欢迎的电影的流行程度是排名第7名电影的7倍。
这个定律表示,在大段文字中,某个字的使用频率与其排名成反比关系。比如,排名第 40 的常用字的使用次数通常是排名第 80 的常用字的两倍多,是排名第 120 名常用字的三倍多。
这种分布形式意味着受欢迎的项目数量较少,而不受欢迎的项目数量较多。
这一现象在多个领域都有体现,如城市人口和财富的分布、足球员的名气和奖金、书籍的销量等等。在互联网上,80% 流量通常来自于 20% 网站,而其他 80% 网站则只能分享剩余 20% 流量。
流量的倾斜
互联网上的流量分布呈现出明显的倾斜。在 1994 年之前,大部分流量主要用于传统文件传输和电子邮件。随着 Web 的出现,流量成倍增长。大约在 2000 年左右,共享音乐开始占据大量流量,现在视频网站占据大多数流量。
流量倾斜的一个显著问题是,流行网站吸引了大部分流量。然而,没有一台单独的计算机能够承载所有流行网站的运行。如果依赖单一服务器,一旦发生故障,就会导致数百万用户无法访问网站。为了解决这个问题,内容分发系统应运而生。
内容分发网络(CDN,Content Delivery Network)是一组分布在不同地点的节点服务器,这些节点存有所请求页面的副本,并指示客户端使用附近的节点作为服务器。
CDN 网络分发方式遵循类似「树结构」模式,源服务器将内容副本分发到 CDN 中的其他节点,这些节点位于不同地区,比如悉尼、波士顿和阿姆斯特丹。
客户端可以从就近的 CDN 节点获取页面,因此悉尼客户端会获取存储在悉尼节点的页面副本,而不需要直接从源服务器获取,即使源服务器位于欧洲。
CDN 的核心是 DNS 方法,它允许不同客户端通过不同的服务器访问相同的网站,从而提高了访问效率和速度。
随着客户端需求的增加,可以增加更多的 CDN 节点。当 CDN 节点同级分发流量遇到瓶颈时,可以增加树的层次,这种树结构的扩展是有效的。源服务器不会超载,因为它通过 CDN 与客户端进行通信,不需要对每个客户端进行响应。
每个客户端都能获得良好的访问体验,因为它们从最近的服务器获取页面,连接路径越短,速度越快,并且遇到拥塞的可能性越小。
假设一个客户端需要获取 https://www.cdn.com/page.html 页面的信息。
首先,浏览器会通过 DNS 解析将 www.cdn.com 解析为一个IP地址,通过 DNS 协议完成,浏览器会获取到 cdn.com 域名服务器的 IP 地址。
接着,浏览器会连接这个域名服务器,请求它解析目标地址,这个域名服务器通常作为 CDN 节点运行,它的工作方式与传统的 DNS 解析有所不同,它并不会为每个请求返回相同的 IP 地址,而是根据发出请求的客户端的 IP 地址返回不同的查询结果。
它会选择并返回最靠近客户端的 CDN 节点的 IP 地址,这样客户端就可以通过最优路径连接到 CDN 网络中最适合它的节点,从而获得最佳的服务质量和性能。
定义最近节点时,它并不完全与地理位置相关。将客户端映射到某个节点时,至少考虑以下两个因素:
网络距离:客户端应该通过一条距离短、网络容量高的路径连接到节点,以实现快速下载。CDN使用事先计算的网络地图,将客户端的 IP 地址转换为网络地址。选定的节点要综合考虑网络路径长度和传输中拥塞情况。
当前节点的负载情况:如果当前节点已经超载,传输速度会变慢,类似于 Web 服务器超载的情况。我们应该避免使用负载过重的节点,并通过延迟均衡整个连接点的负载来确保服务稳定性。因此,一些客户端可能会映射到稍微远一点但负载较轻的节点上。
DNS 重定向在两个层面体现着重要作用:一是将客户端映射到就近的网络位置,以减少访问延迟;二是将负载分布在该位置上的各个节点,以确保整个 CDN 网络的平衡和稳定运行。
通过使用 CDN,一个网站能够提供超大规模的内容服务,节点可以部署并分布在世界各地的不同国家和地区。
内容优化:ChatGPT
图片来源:Pixabay
内容来源:《计算机网络》
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/14786.html