内容的神秘方式或者让我们谈谈 CDN

内容的神秘方式或者让我们谈谈 CDN

免责声明:
本文不包含熟悉 CDN 概念的读者以前不知道的信息,而是具有技术评论的性质

第一个网页出现于 1990 年,大小只有几个字节。 从那时起,内容在质量和数量上都得到了扩展。 IT生态系统的发展导致现代网页以兆字节为单位,并且网络带宽增加的趋势每年都在加强。 内容提供商如何能够覆盖广阔的地理范围并为世界各地的用户提供高速的信息访问? 内容交付和分发网络(也称为内容交付网络或简称 CDN)必须应对这些任务。

互联网上的“重度”内容越来越多。 同时,大量研究表明,如果 Web 服务加载时间超过 4-5 秒,用户就不想处理这些服务。 网站加载速度过低会导致受众流失,这肯定会导致流量、转化率和利润的下降。 理论上,内容交付网络 (CDN) 可以消除这些问题及其后果。 但实际上,像往常一样,一切都取决于特定案例的细节和细微差别,这一领域有很多细节和细微差别。

分布式网络的想法从何而来?

让我们首先简要回顾一下历史和术语的定义。 CDN是由一组位于不同地点的服务器组成的网络,提供覆盖大量用户的互联网内容访问。 分布式网络的想法是同时拥有多个存在点(PoP),这些点位于源服务器外部。 这样的系统将更快地处理传入请求的阵列,从而提高任何数据的响应和传输速度。

在互联网发展的顶峰时期,即向用户提供内容的问题急剧出现。 90年代中期。 当时的服务器,其性能甚至达不到现代旗舰笔记本电脑,难以承受负载,无法应对不断增长的流量。 微软每年花费数亿美元用于与信息高速公路相关的研究(人们立即会想到比尔·盖茨著名的 640 KB)。 为了解决这些问题,我们必须使用分层缓存,从调制解调器切换到光纤,并详细分析网络拓扑。 这种情况让人想起一辆老式机车,它沿着铁轨疾驰,一路上都通过各种可能的手段进行现代化改造,以提高速度。

早在 90 年代末,门户网站的所有者就意识到,为了减少负载并提供所需的请求,他们需要使用中间服务器。 这就是第一个 CDN 的出现方式,它从分布在世界各地的不同服务器分发静态内容。 大约在同一时间,出现了基于分布式网络的业务。 全球最大(至少是最大之一)CDN 提供商 Akamai 于 1998 年开始其旅程,成为该领域的先驱。 几年后,CDN 变得普遍,内容交付和贡献的收入每月达到数千万美元。

如今,每次访问高流量的商业页面或在社交网络上进行交流时,我们都会遇到 CDN。 该服务由:Amazon、Cloudflare、Akamai 以及许多其他跨国提供商提供。 此外,大公司倾向于使用自己的CDN,这给他们带来了内容交付速度和质量方面的许多优势。 如果 Facebook 没有分布式网络,而只满足于位于美国的原始服务器,那么加载东欧用户的个人资料可能需要更长的时间。

关于 CDN 和流媒体的几句话

FutureSource Consulting 对音乐行业进行了分析,得出的结论是,到 2023 年,音乐流媒体服务的订阅人数将达到近 90 亿人。 此外,服务业 XNUMX% 以上的收入将来自流媒体音频。 视频的情况也类似;“让我们一起玩”、“在线音乐会”和“在线电影”等术语已经成为流行词汇中的根深蒂固。 苹果、谷歌、YouTube 和许多其他公司都有自己的流媒体服务。

在早期推出时,CDN 主要用于具有静态内容的网站。 静态是不随用户操作、时间和其他因素而改变的信息,即不是个性化的。 但流媒体视频和音频服务的兴起为分布式网络增加了另一个常见用例。 位于世界各地靠近目标受众的中间服务器可以在高峰负载期间提供稳定的内容访问,从而消除互联网瓶颈。

怎么开动这个

所有 CDN 的本质大致相同:使用中介能够更快地将内容交付给最终消费者。 其工作原理如下:用户发送下载文件的请求,CDN服务器接收该请求,CDN服务器一次性调用原始服务器并将内容提供给用户。 与此同时,CDN 会在给定的时间内缓存文件,并从其自己的缓存中处理所有后续请求。 或者,他们还可以从源服务器预加载文件、调整缓存保留期、压缩大文件等等。 在最理想的情况下,主机将整个流传递到 CDN 节点,CDN 节点已经使用自己的资源向用户传送内容。 不言而喻,有效的信息缓存以及将请求分配到网络而不是一台服务器,将带来更平衡的流量负载。

内容的神秘方式或者让我们谈谈 CDN
CDN 操作的第二个重要特征是减少数据传输延迟(也称为 RTT - 往返时间)。 建立 TCP 连接、下载媒体内容、JS 文件、启动 TLS 会话,这一切都取决于 ping。 显然,你离源头越近,你就能越快地得到回应。 毕竟,光速也有极限:通过光纤传输的速度约为 200 万公里/秒。 这意味着从莫斯科到华盛顿的RTT延迟约为75毫秒,而且这是在没有中间设备影响的情况下。

为了更好地了解内容分发网络解决的问题,以下是当前解决方案的列表:

  • Google、Yandex、MaxCDN(使用免费CDN分发JS库,在世界大多数国家拥有90多个存在点);
  • Cloudinary、Cloudimage、Google(客户端优化服务和库:图像、视频、字体等);
  • Jetpack、Incapsula、Swarmify 等(内容管理系统中的资源优化:bitrix、wordpress等);
  • CDNVideo、StackPath、NGENIX、Megafon(用于分发静态内容的 CDN,用作通用网络);
  • Imperva、Cloudflare(加速网站加载的解决方案)。

列表中的前 3 种 CDN 旨在仅传输来自主服务器的部分流量。 其余 2 个用作成熟的代理服务器,完全传输来自源主机的通道。

该技术为谁提供了哪些好处?

理论上,任何向企业客户或个人(B2B 或 B2C)销售其产品/服务的网站都可以从实施 CDN 中受益。 重要的是它的目标受众,即用户群位于其地理位置之外。 但即使情况并非如此,分发网络也将有助于大量内容的负载平衡。

众所周知,几千个线程就足以堵塞服务器通道。 因此,向大众分发视频广播必然会形成一个瓶颈——互联网通道的带宽。 当网站上有大量未缝合的小图像(例如产品预览)时,我们会看到同样的情况。 源服务器在处理任意数量的请求时使用一个 TCP 连接,这会将下载排队。 添加 CDN 需要跨多个域分发请求并使用多个 TCP 连接,从而减轻通道负载。 即使在最糟糕的情况下,往返延迟公式也会给出 6-7 RRT 的值,并采用以下形式:TCP+TLS+DNS。 这还包括与激活设备上的无线电信道并将信号传输到蜂窝塔相关的延迟。

专家总结了在线业务的技术优势,强调了以下几点:

  1. 快速基础设施扩展+减少带宽。 更多服务器=更多存储信息的点。 因此,一个点每单位时间处理的流量较少,这意味着它的吞吐量可能较低。 此外,优化工具也开始发挥作用,让您能够应对峰值负载而不浪费时间。
  2. ping 值较低。 我们已经提到过,人们不喜欢在互联网上等待太久。 因此,高 ping 会导致高跳出率。 延迟可能是由于服务器上的数据处理问题、使用旧设备或网络拓扑结构考虑不周造成的。 大多数这些问题都可以通过内容分发网络得到部分解决。 尽管这里需要注意的是,只有当“消费者 ping”超过 80-90 毫秒时,实施该技术的真正好处才会显现出来,而这是从莫斯科到纽约的距离。

    内容的神秘方式或者让我们谈谈 CDN

  3. 数据安全。 DDos(拒绝服务病毒攻击)的目的是使服务器崩溃以获得某种利益。 一台服务器比分布式网络更容易受到信息安全漏洞的影响(安装像CloudFlare这样的巨头的基础设施并不是一件容易的事)。 由于使用过滤器和在网络上正确分配请求,您可以轻松防止人为造成的访问合法流量的困难。
  4. 快速的内容分发和附加服务功能。 将大量信息分发到服务器网络上将可以将报价快速传达给最终消费者。 再说一次,你不需要寻找太多的例子——只要记住亚马逊和全球速卖通就可以了。
  5. “掩盖”主站点问题的能力。 无需等到 DNS 更新;您可以将其传输到新位置并分发以前缓存的内容。 这反过来又可以提高容错能力。

我们整理了优点。 现在让我们看看哪些利基市场受益于此。

广告业务

广告是进步的引擎。 为防止发动机烧毁,必须适度加载。 因此,试图应对现代数字世界的广告业务面临着“重内容”的问题。 重媒体是指需要高网络带宽的多媒体广告(主要是动画横幅和视频)。 带有多媒体的网站需要很长时间才能加载,并且可能会卡顿,考验用户的神经强度。 大多数人甚至在下载所有可用信息之前就放弃了这些资源。 广告公司可以利用CDN来解决这些问题。

出售

电子商务需要不断扩大其地域覆盖范围。 另一个重要的一点是与竞争对手的斗争,每个细分市场都有很多竞争对手。 如果一个网站不能满足用户的要求(包括加载时间较长),它就不会受欢迎,也无法带来持续的高转化。 实施 CDN 应该证明其在处理来自不同位置的数据请求方面的优势。 此外,流量分配将有助于防止流量峰值和随后的服务器故障。

娱乐内容平台

从下载电影和游戏到流媒体视频,各种娱乐平台都适合这里。 尽管该技术适用于静态数据,但流数据可以通过中继器更快地到达用户。 再次强调,缓存 CDN 信息是大型门户网站所有者的救星——多媒体存储。

在线游戏

网络游戏必须放在单独的部分。 如果广告需要大量带宽,那么在线项目就更需要资源。 提供商面临着两个方面的问题:服务器访问速度+确保具有精美图形的高游戏性能。 在线游戏的 CDN 是一个拥有所谓“推送区”的机会,开发者可以将游戏存储在靠近用户的服务器上。 这可以让您减少对原始服务器访问速度的影响,从而确保随时随地舒适的游戏体验。

为什么CDN不是万能药

内容的神秘方式或者让我们谈谈 CDN
尽管优势明显,但并不是每个人也并不总是努力将技术引入他们的业务。 这是为什么? 矛盾的是,在优点的同时也出现了一些缺点,而且还增加了一些与网络部署相关的要点。 营销人员会华丽地谈论技术的所有优势,却忘记提及它们在很多情况下都变得毫无意义。 如果我们更详细地了解 CDN 的缺点,则值得强调:

  • 仅适用于静力学。 是的,大多数现代网站的动态内容比例都很低。 但如果页面是个性化的,CDN 将无法提供帮助(除非卸载大量流量);
  • 缓存延迟。 优化本身是配电网络的主要优势之一。 但是,当您在源服务器上进行更改时,CDN 在其所有服务器上重新缓存它需要一些时间;
  • 大规模封锁。 如果由于任何原因 CDN 的 IP 地址被禁止,则其上托管的所有网站都会被关闭;
  • 在大多数情况下,浏览器将建立两个连接(到源服务器和 CDN)。 这些都是额外的毫秒等待;
  • 绑定到之前分配给它的项目(包括不存在的项目)的IP地址。 结果,我们从谷歌搜索机器人得到了复杂的排名,并且在 SEO 推广过程中很难将网站带到顶部;
  • CDN 节点是潜在的故障点。 如果您使用它们,请务必提前了解系统路由的工作原理以及在使用站点时可能会发生哪些错误;
  • 这很陈词滥调,但你必须为内容交付服务付费。 一般来说,成本与流量成正比,这意味着可能需要进行控制来规划预算。

一个重要事实:即使 CDN 距离用户很近也不能保证低 ping。 可以建立从客户端到位于另一个国家甚至另一个大陆的主机的路由。 这取决于特定网络的路由策略及其与电信运营商的关系(对等互连)。 许多大型 CDN 提供商都有多种计划,其中成本直接影响向目标用户交付内容时存在点的接近程度。

有机会 - 推出您自己的 CDN

您是否对提供内容分发网络服务的公司的政策不满意,但您的业务需要扩展? 如果可能的话,为什么不尝试启动自己的 CDN。 这在以下情况下有意义:

  • 目前的内容分发成本未达到预期,并且在经济上不合理;
  • 我们需要一个永久的缓存,而不需要靠近服务器和通道上的其他站点;
  • 目标受众所在的区域没有可供您使用的 CDN 接入点;
  • 交付内容时需要个性化设置;
  • 需要加快动态内容的交付;
  • 第三方服务涉嫌侵犯用户隐私等违法行为。

启动 CDN 需要您拥有域名、不同区域的多台服务器(虚拟或专用)以及请求处理工具。 不要忘记安装 SLL 证书、设置和编辑用于提供静态内容的程序(Nginx 或 Apache)以及有效监控整个系统。

缓存代理的正确配置是另一篇文章的主题,因此我们不会在这里详细描述:正确设置的位置和参数。 考虑到启动成本和部署网络的时间,使用现成的解决方案可能更有前途。 但必须以当前形势为导向,提前谋划好几步。

其结果是

CDN 是一组用于将流量转发给大众的附加功能。 在线业务需要它们吗? 是或否,这完全取决于内容的目标受众以及企业主追求的目标。

区域性和高度专业化的项目在实施 CDN 时弊大于利。 请求仍然首先到达源服务器,但是通过中介。 因此,ping 值的降低令人怀疑,但使用该服务的每月费用却相当明确。 如果您拥有良好的网络设备,您可以轻松改进现有的信息安全算法,将服务器放置在离用户更近的地方,并持续免费获得优化和利润。

但真正应该考虑中间服务器的是大公司,其基础设施无法应对不断增长的流量。 CDN 完美地展现了自己作为一种技术,可以让您快速地将网络部署到广泛的用户地理区域、提供舒适的云游戏或在大型商业平台上销售商品。

但即使受众范围广泛,提前了解为什么需要内容分发网络也很重要。 网站加速仍然是一项复杂的任务,不能通过实施 CDN 来神奇地解决。 不要忘记这样重要的功能:跨平台、适应性、服务器部分的优化、代码、渲染等。 对于任何在线项目,无论其重点和规模如何,初步的技术审核和采取适当的措施来消除问题仍然是最佳解决方案。

由于宣传

您现在就可以订购 强大的服务器使用最新的处理器 AMD Epyc。 灵活的计划 - 从 1 个 CPU 核心到疯狂的 128 个 CPU 核心、512 GB RAM、4000 GB NVMe。

内容的神秘方式或者让我们谈谈 CDN

来源: habr.com

添加评论