CDN 和 Domain Sharding 之间有什么区别?

目录

如今,我们经常听到人们谈论 CDN。但是,还有另一个鲜为人知的术语 — 域分片 — 它经常与 CDN 混淆,即使这两种技术完全不同。


什么是域分片?

我们经常阅读有关设置 CDN 的教程,其中实际上描述了域分片。

历史

传统上,浏览器将同时请求的数量限制为单个域。该限制已在 HTTP/1.1 协议的规范中定义:目标是不使查询服务器过载。

因此,具有许多 HTTP 请求(图像、CSS 文件、JavaScript 等)的网站会受到该限制的惩罚。

定义

域分片已设置为规避在多个子域上分配静态文件(图像、CSS、JS)。这样就可以将同时请求的数量乘以子域的数量。

使用域分片使我们能够在无 cookie 的子域上加载内容。

然而,这个解决方案并非完美无缺。事实上,每个子域都会添加额外的 DNS 解析,这通常在性能方面很重要。DNS 解析是 URL 与与之关联的 IP 地址之间的关联。此请求需要 120 到 200 毫秒才能解决。

就在几年前,强烈建议使用域分片的做法。今天,由于多种原因,情况发生了变化。

浏览器的演变

Internet 浏览器已经发生了巨大的发展。如今,他们平均每个域同时执行 6 个请求(而 IE 只允许 2 个)。对于少量的 HTTP 请求,建立域分片可能会适得其反。

在移动设备上

在移动连接上,DNS 解析比传统连接长得多。过度使用域分片在性能方面可能非常昂贵。

我们是否仍应使用域分片?

这个问题没有通用的答案。一切都取决于您的网站以及它实现的 HTTP 请求数量。通常,建议不要使用两个以上的子域。

您还应该注意,HTTP/2.0 协议将使这种做法过时。由 Google 创建的实验协议 SPDY 已经是这种情况。

如果您想研究这个主题,我们推荐阅读以下文章:


什么是 CDN?

术语 CDN 代表内容交付网络。它经常与域分片混淆,尽管它是完全不同的东西。

定义

CDN 的工作原理是增加全球多个位置的服务器数量:它可以将您的内容交付给地理位置更接近它的访问者。用户发出的每个 HTTP 请求都由离他/她位置最近的服务器很好地提供服务。

CDN 通常与子域一起使用,从域分片的累积效应中获利。

什么时候应该使用 CDN?

建议对具有国际受众的每个站点设置 CDN 服务。对于托管在法国且受众为法国的法国网站,使用 CDN 是值得怀疑的。特别是考虑到这些服务的价格不容忽视。否则,CDN 具有许多您可能希望利用的好处。


综上所述

现在,您拥有了所有必要的信息,可以避免混淆 CDN 和域分片这两种不同的技术。它的要点是:

  • 域分片是在不同域之间分配资源,目的是克服浏览器施加的限制。
  • CDN 是在遍布世界各地的不同服务器上托管网站资源。

CDN 和/或域分片之间的选择应根据项目的特点和预算进行。



评论

发表回复

必填项已用 * 标注