为什么要使用CDN(内容分发网络)?

4

我注意到大多数在线教程都使用CDN而不是仅在本地添加新文件(无论是CSS还是jQuery),并以<link href="~/Content/css/footer.css" rel="stylesheet" />的方式进行引用。我已经阅读了相关资料,但仍然不太清楚为什么要使用CDN。除了更好的缓存之外,为什么要使用CDN而不是在本地编写文件并进行引用呢?

3个回答

6
它简单地减少服务器负载
因此,战略性的放置可以减少互联、骨干网和公共与私人同行的服务器负载,这样就释放了总体容量并降低了传送成本。基本上,内容分散在多个服务器上,而不是卸载到一个大型服务器上。
使内容传递更快
由于CDN尽可能将服务器放置在用户组附近,所以由于路程较短,延迟和数据包丢失都会减少。从理论上讲,内容越接近用户,传输速度就越快。因此,用户在流媒体时会经历更少的抖动、更少的网络波动和整体改善的流媒体质量。由于可靠性,运营商可以提供高质量的服务、低网络服务器负载和更低的成本。
此外,许多CDN提供商提供TCP加速技术,从而提高了性能,从而提高了用户体验。由于CDN减少了延迟,加速器与已经高性能的网络相结合,结果爆炸性的内容。
100%可用性
由于资源分布在许多区域,CDN具有自动服务器可用性感测机制和即时用户重定向。因此,即使在大规模停电、硬件故障或网络问题期间,CDN网站也可以保持100%可用性。
增加并发用户数
在CDN中战略性地放置服务器可能导致高网络骨干容量,这意味着在给定时间内访问网络的用户数量显著增加。例如,在具有2 tb/s容量的100 GB/s网络骨干部分中,只能传送100 GB/s。然而,使用CDN,将在10个战略位置提供10个服务器,然后可以提供10 x 100 GB/s的总容量。
控制资产交付
CDN技术的另一个有益特点是授予了更多的资产交付和网络负载控制权。运营商有能力提供实时负载统计信息、优化每个客户端的容量、显示活跃区域、指示哪些资产受欢迎,并向其客户报告查看详细信息。由于一旦将服务器源添加到CDN后,使用日志就会被停用,因此这些细节非常重要。
更多参考:链接

你会推荐使用 CDN 还是引用文件? - Lebone
是的,但是有一些缺点, 由于大多数组织利用第三方供应商来维护CDN,因此总会存在支持可用性和文档问题。 - AVI

3
缓存是其中之一原因:如果我使用与Google.com相同的jQuery文件,那么访问我的网站的大部分用户将不必加载它。这降低了我的网页的加载时间。
另一个原因是CDN服务器的全球分布。如果我想要在德国这里的图像,从美国服务器加载它需要比从德国服务器加载更长的时间(由于延迟)。

0

许多网站使用HTTP/1.1,但这会导致很大的减速。HTTP/1.1无法并行发送文件,并且必须为每个请求再次发送头部/握手。这会导致巨大的延迟问题-这就是浏览器为什么要为一个主机使用多达六个连接以能够一次加载六个文件。使用CDN可以增加主机,因此每个CDN都会给您额外的六个连接。

但这实际上已经是历史了。

HTTP/2只使用一个连接,并且能够保持流和多路复用数据包。它在协议层上进行精灵/串联。

这意味着您可以并行发送许多文件(现在取决于您的带宽,因为延迟阻止了这种可能性)。您甚至可以优先处理文件并创建队列,以便较不重要的文件最后发送。

使用HTTP/2时,CDN实际上可能会再次减慢您的网站,因为您必须再次发送多个头部/握手,从而导致延迟。

对于HTTP/2,您需要HTTPS连接,但无论如何都建议使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接