什么是 CDN(内容分发网络)及其工作原理?【CDN直播系列1】

使用 CDN 进行直播非常重要,因为 CDN(内容交付网络)由分布在全球各地的服务器组成,这些服务器存储视频副本并根据观众的位置(或 CDN 足迹)将其分发给观众。CDN 在直播领域的应用不仅是各服务商,还是企业自研都是一个必备选项。【CDN直播系列】文章编译自 OTTVerse 的创始人Krishna Rao Vijayanagar 博士,仅供大家参考。

CDN 或内容交付网络对于全球范围内的视频、图像和网站内容交付和性能至关重要。大多数流媒体服务,如 Netflix、Amazon Prime、HBO、YouTube 等,都依赖于 CDN 的日常存在,以确保极高的服务质量、体验质量和成本降低。

在本文中,我们将了解什么是 CDN、CDN 的工作原理、为什么需要 CDN 以及使用 CDN 的优势。

让我们开始吧!

什么是 CDN?

内容分发网络 (CDN) 是一个分布式服务器系统,部署在世界各地的多个位置。它们位于最终用户设备和源服务器之间,根据用户的地理位置向用户提供 HTML 页面、图像和视频等 Web 内容。CDN 旨在有效扩展以确保为客户提供流畅的观看体验。

CDN的主要目的是

  • 通过减少数据在用户和服务器之间传输所需的距离来提高网站的速度和性能。
  • 通过在边缘缓存数据来降低服务数据的成本。
  • 保护源站免受 DDoS 攻击

CDN 通过存储网站内容/图像/视频/等的副本来做到这一点。在离用户较近的服务器上,并从这些服务器而不是原始服务器(托管网站的主服务器)交付内容。

CDN 被广泛的网站使用,包括大型电子商务网站、媒体公司和软件即服务 (SaaS) 提供商,以将其内容交付给世界各地的用户。CDN 有助于提高网站的可靠性、安全性和成本效益,还可以通过减少内容加载时间来改善整体用户体验。

CDN 是如何工作的?

如简介中所述,内容分发网络 (CDN) 是一个分布式服务器系统,部署在世界各地的多个位置。这些服务器连接到 Internet,用于根据用户的地理位置存储和传送 Web 内容,例如 HTML 页面、图像和视频。

现在让我们花几分钟时间了解CDN 的工作原理

步骤 1)当用户从使用 CDN 的网站请求网页时,请求被路由到离用户位置最近的服务器。这是通过使用域名系统 (DNS) 路由来完成的,它将用户的请求定向到具有最低延迟(数据在两点之间传输所需的最短时间)的服务器。

步骤 2)一旦用户的请求被路由到正确的服务器,服务器从其缓存(频繁访问数据的临时存储区域)中检索请求的内容并将其返回给用户。

步骤 3)如果内容尚未存储在缓存中,服务器将从源服务器(托管网站的主服务器)检索它并在缓存中存储一​​个副本以供将来请求使用。

通过在不同位置的多个服务器上分发内容,CDN 可以通过减少数据在用户和服务器之间传输所需的距离来帮助提高网站的速度和性能。这对于从远离源服务器的位置访问网站的用户尤为重要。

为什么我们需要使用 CDN?

使用 CDN 的主要优势是通过减少数据在用户和服务器之间传输所需的距离来提高网站的速度和性能。

这是迄今为止使用 CDN 最重要的好处。让我们停下来理解为什么。 

假设您正在运行像 YouTube 这样的视频流媒体服务,并且该平台上的一个视频迅速传播开来。这意味着数百万人想要观看视频,这将向您的源服务器生成数百万个请求。不幸的是,大多数原始服务器无法跟上需求,可能会在负载下崩溃。这被称为“Thundering Herd”问题,并在本文中与解决方案(“Request Collapsing”)一起进行了详细解释。

由于源服务器在高负载下崩溃,您的最终用户将遭受一些 QoE 和 QoS 问题,例如,

  • 视频缓冲,因为服务器无法足够快地为它们提供服务。
  • 启动延迟,因为服务器过载,无法提供视频服务。
  • 视频质量较差,因为播放器开始切换到较低的比特率,因为它无法立即从服务器获取高质量(高比特率)视频。

那么我们如何解决这个问题并防止它再次发生呢?

该问题的一种解决方案是将数据缓存在中间服务器上,而不是每次都向源服务器请求数据。也就是你在源站前面加了一个缓存,可以把经常访问的网页、图片、视频缓存起来,提供给终端用户,不用每次都去源站。而且,为了服务于不同的地域,我们可以在全球范围内设置多个这样的服务器(缓存),以满足地理分布的用户并提供更快的响应。

这本质上就是 CDN 的样子(地理分布的服务器),以及为什么它在向最终用户快速提供图像/视频/内容方面如此强大。

什么是 CDN(内容分发网络)及其工作原理?【CDN直播系列1】
(左)无 CDN(右)有 CDN

使用 CDN 的优势

最后,让我们来看看使用 CDN 的好处——

提高可靠性

CDN 可以通过在不同位置的多个服务器上分发其内容(图像、视频、数据、内容)来帮助提高网站的可用性。这意味着如果一台服务器出现故障,仍然可以从另一台服务器访问内容。除了跨多个服务器分发内容之外,还可以使用多个 CDN 来进一步提高可靠性并减少对任何单个 CDN 提供商的依赖——这就是多 CDN 网络的工作原理。

提高安全性

CDN 可以通过吸收流量并在恶意流量到达源服务器之前阻止它来帮助防止分布式拒绝服务 (DDoS) 攻击。CDN 客户可以设置规则来拒绝来自特定客户端或 IP 地址集的请求。因此,CDN 可以充当抵御恶意攻击的第一道防线。

降低带宽成本

使用 CDN 有助于减少原始服务器所需的带宽量,从而降低托管成本。像 AWS S3 这样的原始服务器在提供数据方面非常昂贵,如果直接从存储(如 S3)提供数据而不是在中间使用 CDN 缓存层,则会产生非常大的账单。

降低基础设施成本

由于大部分负载被 CDN 吸收,原始服务器方面的基础设施成本降低了。除了降低成本之外,使用 CDN 还可以降低源服务器的带宽消耗。

更好的用户体验

通过减少加载内容所需的时间,CDN 可以改善网站的整体用户体验。这对于从远离源服务器的位置访问网站的用户尤为重要。

总体而言,使用 CDN 有助于提高网站的性能、可靠性、安全性和成本效益,从而提供出色的用户体验。具体来说,如果您是直播公司,那么您必须阅读使用CDN进行直播和点播的9个有力理由

结论

我希望这个解释能帮助您了解 CDN 是什么、它是如何工作的以及使用 CDN 的优势。Akamai、Fastly、Cloudfare、KeyCDN、LimeLight、Medianova等多个商业 CDN在向最终用户交付内容和改善视频观看体验方面做得非常出色——适用于不同的用例、架构和预算。

在我们视频流系列的未来文章中,我们将探讨 CDN 技术中的概念,例如多 CDN、边缘缓存、边缘计算等。

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/13339.html

(0)

相关推荐

发表回复

登录后才能评论