cdn缓存服务器(系统设计基础知识(十三)—内容分发网络(CDN))

博主:xiaoweixiaowei 2022-12-28 条评论

这是系统设计基础知识系列第十三章内容分发网络(CDN)。你可以阅读我以前的文章

系统设计基础知识(一) – 网络

系统设计基础知识(二)—数据库

系统设计的基础知识(三)吞吐量和延迟

系统设计基础知识(四)—系统可用性

系统设计基础知识(五)—缓存

系统设计基础知识(六)—缓存区

系统设计基础知识(七)—代理

系统设计基础知识(八)了解IP地址和端口

系统设计基础知识(九)—负载均衡器

系统设计基础知识(十)—DNS

系统设计基础知识(十一)—WebSocket协议

系统设计基础知识(十二)—Raft共识算法

CDN它是代理服务器及其数据中心的地理分布网络,通过相对于最终用户在空间上分布服务来提供高可用性和性能。

随着信息技术的发展和用户数量的不断增加,通过网络传输效率带来了瓶颈。

即使你在家里装了100M的宽带看剧、看电影、浏览网站或流媒体,你仍然觉得网速很慢。

这是因为服务器和用户之间的距离。如果用户数量增加,则会导致网络拥塞,从而影响整体传输效率。

还有带宽问题。当有大量用户浏览同一网站时,使用大量服务器来支持网络带宽。

CDN 旨在解决这两个问题。

cdn缓存服务器(系统设计基础知识(十三)—内容分发网络(CDN))

CDN 将静态内容(例如 HTML、大文件下载、视频、音频点播、实时流媒体和图像文件)存储在世界各地的多个位置。当客户端发出请求时,将选择最近的 CDN 位置。

技术原理

要理解 CDN 的概念,我们必须了解客户端是如何发出请求的。

  1. 用户在浏览器地址栏输入域名,向指定服务器发起请求
  2. 浏览器向本地 DNS 服务器请求网站的解析
  3. 如果本地DNS服务器有网站的解析结果,直接响应请求,返回网站对应的IP地址
  4. 如果本地DNS服务器没有网站的解析结果,会递归地向权威DNS请求解析,然后将结果返回给用户
  5. 浏览器获取解析结果后,返回网站对应的IP地址
  6. 浏览器发起访问请求,从服务器接收内容
  7. 服务器传递浏览器请求的内容

但是,第 6 步和第 7 步有一个更复杂的过程。

物理层的作用是实现相邻节点之间比特行进的物理传输,尽可能屏蔽传输介质和物理设备之间的差异。IP 数据报组装成帧并在 2 个相邻节点之间的链路上传输。网关(路由器)充当网络的入口和出口点,因为所有 IP 数据报在被路由之前必须通过网关或与网关通信。这样,网站服务器通过公网退出,再经过骨干网,再通过其调制解调器连接到用户所在的局域网,最终用户可以浏览网站。

然而,骨干网的传输是最耗时的。如果传输的数据量很大,并且有大量的用户访问网站,就会有很长的延迟,影响用户体验。每个数据请求都需要麻烦的数据传输,影响用户体验。

例如,当您访问社交媒体时,网站上必须有数千张图片。如果可能有 100 万人同时请求同一张照片怎么办?将有 100 万次数据传输,这对网络基础设施具有挑战性。

所以,CDN技术被用来避免这个问题。

它可以将数据提前存储在离用户最近的节点中,从而减轻网络骨干的负担,提高访问速度。

当浏览器发送请求时,它会从 CDN 缓存服务器中查找。如果能获取到数据,则直接返回。否则,它将通过骨干网从网站服务器获取数据。只要提前将数据上传到CDN缓存服务器,就可以大大降低网络流量和网络延迟。

用户可以来自世界各地。为了减少传输延迟,CDN缓存服务器根据位置类别设置在用户附近。比如伦敦、纽约、北京、上海等。这样,各个地区的用户都可以向对应的CDN服务器请求。

元素

  1. 分布式存储
  2. 负载均衡
  3. 网络请求重定向
  4. 内容管理
  5. 网络流量管理

内容管理和网络流量管理是 CDN 的核心。CDN 确保以极其有效的方式交付数据内容。

CDN 架构

CDN缓存分为2层。L1和L2的比例分配合理。

过程:

  1. 用户搜索数据内容并检查缓存的数据内容是否在本地设备上。如果客户端本地有缓存数据内容,则直接下发数据内容。
  2. 如果本地没有缓存数据内容,则从 CDN L1 访问源数据。如果 L1 有缓存数据内容,则将其传递到客户端本地磁盘进行本地缓存。
  3. 如果没有来自 CDN L1 的缓存数据内容,则从 CDN L2 访问源数据。如果L2有缓存数据内容,则下发到CDN L1和本地磁盘缓存数据内容
  4. 如果没有来自 CDN L2 的缓存数据内容,则从原始服务器访问源数据。将执行编码和解码过程以返回客户端可以支持的数据。然后,CDN L1、CDN L2、本地磁盘缓存数据内容。


特征

  1. 它提高了网站的访问速度
  2. 消除了不同运营商之间的互联瓶颈带来的影响,实现跨运营商的网络加速,保证不同网络的用户都能获得良好的访问速度
  3. 根据DNS负载均衡技术自动选择缓存服务器
  4. 带宽优化

CDN中的关键技术

  1. 内容路由——跨多个远程服务点 (POP) 的重定向 (DNS) 机制
  2. 内容发布——它将内容发布或交付到离用户最近的远程服务点 (POP)(索引、缓存、流拆分或多播)
  3. 内容交换——它根据内容的可用性、服务器可用性和用户类别,使用应用层切换、流拆分和重定向(ICP、WCCP)智能地平衡 POP 缓存服务器上的负载流量
  4. 性能管理——通过内部和外部监控系统获取网络组件在最佳运行状态下的状态信息(数据:丢包、传输延迟、平均带宽、启动时间、帧率等)

如果你发现我的任何文章对你有帮助或有用,麻烦点赞或者转发。 谢谢!

The End

发布于:2022-12-28,除非注明,否则均为 主机评测原创文章,转载请注明出处。