为什么要使用内容传送网络(CDN)?

内容交付网络(CDN)指南–它们是什么,它们如何工作以及为什么您的网站需要一个以快速加载 & 有效率的.


内容交付网络指南

想象一下网上冲浪……每个网页都立即加载,浏览器的浏览器请求它,而没有一毫秒的等待时间。尽管这还不可能,但正在出现的技术正在帮助我们更进一步。一个 内容传递网络, 要么 CDN 简而言之,这是实现这一目标的步骤之一。在本文中,我将解释什么是CDN,如何将CDN模型与传统的虚拟主机模型进行比较,讨论将CDN用于您的网站的利弊,最后,向您展示如何启动您的网站带有CDN.

CDN是在全球各地分布的Web服务器系统,用于为最终用户更有效地提供您网站的内容.

点击鸣叫

CDN如何运作?

CDN可以大大减少您网站的加载时间。从本质上讲,它是一个网络服务器系统,其地理位置分散在世界各地,用于向最终用户更有效地提供您网站的内容。当用户加载您网站的内容时,效率最高的服务器(即距离用户最近的服务器)将提供该内容。这有助于显着缩短网站内容的加载时间。拉式CDN(最受欢迎的CDN类型)将通过您当前的网络托管提供商从其原始存储位置读取文件,然后自动将其缓存在世界各地的服务器上(如下所示),以使您的网站加载速度更快.

CDN工作原理的基本图。

没有CDN的传统网络托管

使用传统的网络托管模式,您网站的所有文件(HTML,CSS,图像等)都从世界上的一个位置托管-基本上是您的网络托管提供商的数据中心所在的位置。当最终用户访问您的网站时,总是从该位置检索该网站的内容。这里要注意的关键点是,此模型可以从世界上的一个位置提供所有文件。因此,存在一些负面影响:

速度随距离减小

假设您的网络托管提供商的数据中心位于德克萨斯州。每当用户想要加载您的网站时,都会将请求发送到Texas数据中心。用户离您的服务器地理位置越远,传输速度往往会降低,因为文件需要传播更远的距离。用户离数据中心越远,网站加载所需的时间就越长。继续该示例,得克萨斯州的网站用户由于靠近数据中心,因此其网站加载速度将比中国的用户快。.

有限传输率

考虑多个用户都试图同时加载您的网站的情况。正如您的个人计算机在通过网络传输文件的速度(吞吐率)方面有局限性一样,服务器在文件传输的速度方面也有局限性。您当前的网络托管是否已为流量激增做好准备?特别要考虑未指定传输速率的共享主机解决方案。在这些和其他环境中,传输速率可能会非常有限,当您网站的流量激增时,这可能会对性能产生明显影响。由于这些原因,流量的增加可能会增加您网站的加载时间,因为网站的内容会立即发送给所有最终用户.

CDN托管模型的积极含义

使用CDN模型,我们可以克服传统网络托管模型的负面影响。它带来了一些积极的影响,例如:

从多个位置加载内容以加快网站速度

请记住,用户离托管服务提供商的数据中心越远,网站加载所需的时间就越长,因为文件需要传输更远的距离。 CDN将提供来自 边缘服务器 根据最终用户在世界上的位置,它们对于每个最终用户而言都是最接近或最有效的。例如,如果中国某人要加载您的网站,则CDN可能会自动从中国的服务器加载您网站内容的副本。如果有人要从英国访问您的网站,则可以使用英国的服务器代替,将您的网站加载到该特定用户。 CDN将自动确定哪个服务器是每个最终用户最有效的选择.

传统托管模型与CDN模型的关系图。

分散传输文件以处理更多流量

如前所述,服务器包含对一次可以传输多少数据的限制。当多个用户尝试一次访问CDN时,它可以帮助您缩短网站的加载时间。鉴于CDN运作方式的本质,对您网站的同时请求可能会由 遍及全球的多个区域中的服务器,具体取决于请求来自何处。这样,一台特定的服务器就不会充满用户的所有请求。 CDN提供商还将实施其他程序,以确保即使在流量激增的情况下文件也能有效加载.

DDoS缓解和保护

DDoS攻击是指服务器上充斥着对网站的非法请求,目的是使您的网站崩溃或由于过度传输而导致带宽费用增加。您的CDN提供商可能会提供DDoS检测和缓解机制,这将有助于在DDoS攻击中提高网站的性能和正常运行时间.

使用CDN的缺点是什么?

CDN通常按使用量付费

CDN提供商通常根据您要传输的内容收费。因此,您每月的费用因月份而异。您当前的网络托管服务提供商可能已经在您当前的托管服务包中纳入了一定量的月度转移;因此,您将需要考虑CDN的额外费用是否对您的公司的在线业务有效。请注意,“推送CDN”提供商通常还会收取存储空间费用(请参见下文).

为了帮助您了解过渡到云所需的费用,请考虑以下情形。假设您的网站大小为1MB,而您的CDN提供商收费 每GB $ 0.085 转移。 10,000个访问整个网站的用户的费用为:((1/1024)×10,000)÷0.085 = 114美分,或者 每10,000个请求$ 1.14.

如您所见,这并不是一笔过高的代价。但是,大多数CDN产品都会通过您当前的托管服务提供商从其存储位置读取文件,这是额外的费用。此原始服务器可以是文件存储系统,例如Amazon S3,也可以是您当前的托管服务提供商。如果您的网站包含动态内容,您仍然需要维护一个托管解决方案,该解决方案可以处理这些类型的文件.

由于CDN解决方案通常是按使用付费的,因此DDoS攻击在财务上可能是不利的-这种攻击导致文件传输的急剧增加将导致您的业务成本增加。但是,如前所述,CDN提供商正在努力检测和缓解这些类型的攻击.

他们需要其他配置才能有效地缓存更改的内容

请记住,CDN可以在全球范围内缓存您网站内容的副本。但是,大多数网站都包含一些内容,这些内容会根据访问该网站的特定用户或其他条件(针对特定用户的欢迎消息,购物车等)而改变。这种类型的内容在全世界范围内的存储并不是那么简单,因为它会不断地根据请求进行更新。流文件是另一种形式的内容,需要特别注意才能在CDN中使用。请参阅下面的更多详细信息.

其他CDN注意事项

更新文件时刷新文件缓存

当您需要使用请求CDN更新其中一个文件时,世界各地的所有缓存副本也将需要过期,以便在下一个请求时刷新它们。为了使这种情况发生,您可能需要等待默认的到期时间(具体取决于提供程序),或者强制立即使缓存的文件无效。尽管更新文件可能需要执行此额外步骤,但是您网站的静态文件可能不会经常更新.

确保不频繁访问的文件有足够的到期时间

“拉式CDN”解决方案不一定总是在每个边缘服务器上都包含文件的副本-下文将对此进行详细讨论。如果还没有文件的缓存版本,则必须从原始服务器中提取该文件。对于较大的文件(例如视频)来说,这更是一个问题,因为从原始服务器加载这些类型的文件的性能影响可能会非常明显。该问题的一些解决方案是增加高速缓存文件的到期时间(如果可能),以便不需要从原始服务器频繁刷新文件,或者将大型文件存储在“推送CDN”解决方案中(请参见下面).

静态内容与动态内容

网站包含两种主要的数据类型-静态内容和动态内容。您在网站上看到的大多数内容(即外观,图像,视频,CSS和JavaScript文件等)通常都是静态内容. 静态内容永不变 (除非您重新上传源文件)。例如,无论是谁访问您的网站或您重新加载页面的次数,您公司的徽标外观都不会改变. 动态内容更改 取决于谁要求数据​​或其他条件。例如,当约翰登录到他的银行帐户时,他会看到自己的余额。但是,当David登录时,余额与Joe看到的不同。作为另一个示例,登录WordPress仪表板后,您将看到诸如“ Howdy,John!”之类的消息。这也被视为动态内容,因为它会根据登录者的不同而变化。根据用户或其他条件而变化的内容被视为动态内容。.

CDN如何处理静态,动态和流式内容?

在这一点上,我们遇到一个重要问题:“我可以在CDN上存储哪种文件?”由于静态文件总是在任何时候都保持不变,无论谁加载您的网站,它们都非常适合通过CDN在世界范围内缓存,因为这些文件很少更新。至于动态内容(即购物车),通常没有一个文件可以在世界范围内缓存,因为它经常针对每个用户或其他条件而变化。但是,CDN提供程序正在实施解决方案以提高加载动态内容的效率,例如查找用户与托管服务器之间的最快路由。许多CDN提供商还实施了通过CDN流式传输实时和点播媒体的解决方案.

我如何开始使用CDN?

此时,您可能在想:“我确信我的公司的网站需要CDN!我该如何过渡?”答案取决于您使用的CDN解决方案的类型。一些网络托管提供商提供了一个通过其控制面板轻松启用CDN的选项。其他设置需要一些额外的步骤.

在您的整个网站上添加CDN层

此选项是为小企业主设置的最简单的选项之一。用户的每次访问您网站内容的请求都将首先通过CDN提供商管理的系统进行过滤。静态内容将从CDN加载,而动态内容将直接从现有服务器加载(或者如前所述,可以使用一种技术来缩短动态内容的加载时间)。拉CDN实际上将在幕后实施,以便通过CDN分发文件. 云耀斑 是提供此类CDN解决方案的此类公司之一。除CDN之外,诸如CloudFlare之类的某些公司还将为您的网站性能提供其他增强功能.

设定: 设置此类CDN系统的主要步骤是更新您网站的DNS记录,以指向CDN层。然后,CDN层将根据需要将请求路由到您的原始服务器。您仍然需要保留当前的托管解决方案,以便CDN从中提取文件.

拉CDN

此CDN设置的工作原理是从原始服务器中拉出文件,以根据需要在世界各地缓存它们。用户首次请求文件(即新文件或过期文件)时,CDN服务器将需要从您的原始服务器(即您当前的托管服务提供商)读取文件。然后,边缘服务器将存储文件的缓存版本。将来对文件的请求将直接来自边缘服务器(而不是从原始服务器拉出),直到文件过期。到期后,将再次需要从原始服务器刷新文件并进行缓存.

设定: 您指定文件在原始服务器上的位置,以在CDN上分发。然后,CDN将根据需要从原始服务器中提取文件。您还需要将网站中文件的链接更新到CDN的端点,或者更新DNS设置以指向CDN.

推送CDN

推送CDN允许用户将其文件上传到CDN本身,一旦上传,这些文件将立即分发到边缘服务器。您的文件已经存储在每个边缘服务器上,而无需从原始服务器中拉出。这是一种较不常见的选择。但是,这对于分发大型媒体文件是有利的,因为媒体的副本将始终存储在边缘服务器上.

设定: 将文件上传到CDN提供程序。您还需要将网站中文件的链接更新到CDN的端点,或者更新DNS设置以指向CDN.

我应该离开我的虚拟主机提供商吗?

不需要。即使购买了CDN解决方案,您通常仍需要与网络托管提供商保持联系。请记住,CDN用于缓存内容。如果您的网站包含任何动态内容,则仍需要保留当前的托管解决方案以处理该内容.

结论

CDN是一种可行的解决方案,可通过减少将文件传输给用户所需的时间来提高网站的效率。这可能会增加客户在您网站上的保留率,甚至可能会提高您的搜索结果排名。 CDN还可以减轻当前主机设置中文件请求的负担,这可能有助于处理大量流量。但是,CDN通常会增加成本。您的网站应获得CDN可以提供的性能改进,但其收益必须超过潜在的成本和其他折衷方案.

您是否在网站上使用过CDN?在下面的评论中让我们知道您对CDN的看法!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map