内容分发网络(Content Delivery Network,CDN)是指地理上分布的服务器(也称为边缘服务器),提供快速交付静态和动态内容。让我们看看它是如何工作的。

假设住在纽约的 Bob 想访问一个部署在伦敦的电商网站。如果请求发送到位于伦敦的服务器,响应会相当慢。因此我们在离 Bob 生活地方附近部署 CDN 服务器,内容将从附近的 CDN 服务器加载。

下图说明了这个过程:

CDN 工作流程示意图

  1. Bob 在浏览器中输入 www.myshop.com。浏览器在本地 DNS 缓存中查找域名。
  2. 如果本地 DNS 缓存中不存在该域名,浏览器会向 DNS 解析器请求解析该域名。DNS 解析器通常位于互联网服务提供商(ISP)处。
  3. DNS 解析器递归地解析域名(详见我之前关于 DNS 的文章)。最后,它请求权威名称服务器解析该域名。
  4. 如果我们不使用 CDN,权威名称服务器返回 www.myshop.com 的 IP 地址。但使用 CDN 时,权威名称服务器有一个别名指向 www.myshop.cdn.com(CDN 服务器的域名)。
  5. DNS 解析器请求权威名称服务器解析 www.myshop.cdn.com
  6. 权威名称服务器返回 CDN 负载均衡器的域名 www.myshop.lb.com
  7. DNS 解析器请求 CDN 负载均衡器解析 www.myshop.lb.com。负载均衡器根据用户的 IP 地址、用户的 ISP、请求的内容和服务器负载选择最优的 CDN 边缘服务器。
  8. CDN 负载均衡器返回 CDN 边缘服务器的 IP 地址给 www.myshop.lb.com
  9. 现在我们终于获得了要访问的实际 IP 地址。DNS 解析器将 IP 地址返回给浏览器。
  10. 浏览器访问 CDN 边缘服务器以加载内容。CDN 服务器上缓存的内容有两种类型:静态内容动态内容。前者包含静态页面、图片、视频;后者包括边缘计算的结果。
  11. 如果边缘 CDN 服务器缓存不包含内容,它会向上传输到区域 CDN 服务器。如果仍然找不到内容,它会继续向上传输到中央 CDN 服务器,甚至回到源站——伦敦的 Web 服务器。这被称为 CDN 分发网络,服务器在地理上部署。

本文为学习目的的个人翻译,译文仅供参考。

原文链接:How does CDN Work?

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。