
CDN
内容分发网络(CDN)是一个全球性的代理服务器分布式网络,它从靠近用户的位置提供内容。通常,HTML/CSS/JS、图片和视频等静态内容由 CDN 提供,虽然亚马逊 CloudFront 等也支持动态内容。CDN 的 DNS 解析会告知客户端连接哪台服务器。
将内容存储在 CDN 上可以从两个方面来提供性能:
从靠近用户的数据中心提供资源;
通过 CDN 你的服务器不必真的处理请求;
CDN 有两种主要类型—拉取CDN
和 推送CDN
——它们具有不同的好处和成本。对两者的一个非常淡化的解释是,使用拉式 CDN,CDN 会根据请求将您网站的一部分缓存到他们的服务器。推送 CDN 是您将整个网站上传到 CDN 的地方,以便在任何给定时间为用户做好准备。让我们看得更远一些。
拉取 CDN:一旦初始配置,拉取式 CDN 就会根据其请求在其服务器上无缝存储和更新内容。如果 CDN 没有检测到文件已被修改,数据通常会在那里保留 24 小时或更长时间。对于低流量网站或那些通过缓存、良好代码等进行了充分优化的网站,拉取 CDN 可以在不占用太多服务器的情况下提供速度。
一旦你的内容被拉出(给它 48 小时以获得足够的数据以使其产生明显的差异),所需的维护就很低。因此,是什么让拉动 CDN 如此简单也可能是一种痛苦。通常,您无法控制拉取 CDN 缓存的持续时间,因此,如果您更新照片或主题,可能需要长达 24 小时才能让所有读者(和您)看到它。为了方便起见,您会失去控制,因此在进行广泛的更改(例如更新主题)时,您通常必须在此过程中关闭 CDN。
推送 CDN:无需等待 CDN 在需要时拉取内容,你只需提前将网站的全部内容上传到 CDN。这样,图片、主题文件、视频和其他内容始终位于世界各地的 CDN 服务器上。
如果推送 CDN 无法满足您的流量需求,或者在某一天内有很多不断变化的内容,它可能会给您的服务器带来额外的压力。原因是,将所有数据以及任何更改推送到 CDN 都需要您的服务器进行工作。如果服务器已经在高负载下苦苦挣扎或每天有几次新内容,那么在您的服务器和 CDN 之间同步的所有内容可能弊大于利。
关于使用哪种 CDN 类型的决定在很大程度上取决于流量和下载量。从长远来看,托管视频和图片网站会发现推送 CDN 更便宜、更高效,因为在主动将其推送到 CDN 之前,CDN 不会重新下载内容。拉式 CDN 可以通过在 CDN 服务器上保留最受欢迎的内容来帮助高流量小下载的网站。内容的后续更新(或“拉取”)频率不足以使成本超过推送 CDN 的成本。
- 感谢你赐予我前进的力量