正文
内容分发网络(Content Delivery Network, CDN)是一种全球分布式系统,通过将内容移近用户来提高 Web 性能。CDN 中的节点分散在成百上千个地理位置。当客户端从采用了 CDN 的站点请求内容时,会被路由到位置最近的节点(称为边缘服务器),从而降低延迟,减少源头的拥塞。
边缘服务器和代理缓存类似。两者都在本地保存了内容副本。如果它们没有所请求资源的本地副本,或是本地内容副本已过期,则从源头检索资源,答复客户端,更新缓存。
CDN 利用 DNS 将客户端重定向到地理位置上最近的主机。
CDN 现在可以容纳动态内容,但在传统上,最适合的还是静态内容,例如图像、样式表单、JavaScript 文件、HTML 文件以及可下载对象。想 Netflix 和 YouTube 这样的流媒体服务使用 CDN 来服务大型媒体文件。
除了改进性能之外,CDN 还有其他价值。大多数 CDN 提供了安全服务(例如防范拒绝服务攻击)和 Web 应用防火墙。一些专业 CDN 还提供了其他创新,用于优化页面渲染,降低源头服务器的负载。
如今相当一部分 Web 服务都是由 CDN 提供的。如果你所在的是一家大型站点,那就掏钱购买快速性能的特权吧。如果你的服务规模不大,在转向 CDN 之前先优化本地的缓存层。