内容分发网络(Content Delivery Network,CDN)是指地理上分布的服务器(也称为边缘服务器),提供快速交付静态和动态内容。让我们看看它是如何工作的。
假设住在纽约的 Bob 想访问一个部署在伦敦的电商网站。如果请求发送到位于伦敦的服务器,响应会相当慢。因此我们在离 Bob 生活地方附近部署 CDN 服务器,内容将从附近的 CDN 服务器加载。
下图说明了这个过程:

- Bob 在浏览器中输入
www.myshop.com。浏览器在本地 DNS 缓存中查找域名。 - 如果本地 DNS 缓存中不存在该域名,浏览器会向 DNS 解析器请求解析该域名。DNS 解析器通常位于互联网服务提供商(ISP)处。
- DNS 解析器递归地解析域名(详见我之前关于 DNS 的文章)。最后,它请求权威名称服务器解析该域名。
- 如果我们不使用 CDN,权威名称服务器返回
www.myshop.com的 IP 地址。但使用 CDN 时,权威名称服务器有一个别名指向www.myshop.cdn.com(CDN 服务器的域名)。 - DNS 解析器请求权威名称服务器解析
www.myshop.cdn.com。 - 权威名称服务器返回 CDN 负载均衡器的域名
www.myshop.lb.com。 - DNS 解析器请求 CDN 负载均衡器解析
www.myshop.lb.com。负载均衡器根据用户的 IP 地址、用户的 ISP、请求的内容和服务器负载选择最优的 CDN 边缘服务器。 - CDN 负载均衡器返回 CDN 边缘服务器的 IP 地址给
www.myshop.lb.com。 - 现在我们终于获得了要访问的实际 IP 地址。DNS 解析器将 IP 地址返回给浏览器。
- 浏览器访问 CDN 边缘服务器以加载内容。CDN 服务器上缓存的内容有两种类型:静态内容和动态内容。前者包含静态页面、图片、视频;后者包括边缘计算的结果。
- 如果边缘 CDN 服务器缓存不包含内容,它会向上传输到区域 CDN 服务器。如果仍然找不到内容,它会继续向上传输到中央 CDN 服务器,甚至回到源站——伦敦的 Web 服务器。这被称为 CDN 分发网络,服务器在地理上部署。
本文为学习目的的个人翻译,译文仅供参考。
原文链接:How does CDN Work?。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。