跳到主要内容

CDN

CDN 是利用缓存技术,解决如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过 CDN 分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。

问:为什么我们不直接从源站直接获取数据,而要通过 CDN 这个中间转发了?

如果网络上的数据都是直接从源站返回给用户的话,那么极有可能就会出现网络拥塞,服务器过载的情况。那如果能有一种技术,将数据缓存在离用户最近的地方,使用户以最快的速度获取,那么就可以减少压力,减少网络传输的拥堵,起到很大的作用。

流程

  1. 用户在浏览器输入要访问的网站域名,向本地 DNS 发起域名解析请求。
  2. DNS 系统会最终将域名的解析权交给 CNAME 指向的 CDN 专用 DNS 服务器。
  3. CDN 根据一组预先定义好的策略对域名进行智能解析,将响应速度最快的 CDN 节点 IP 地址返回给本地 DNS。
  4. 浏览器在得到速度最快节点的 IP 地址以后,向 CDN 节点发出访问请求。
  5. CDN 节点将用户所需资源返回给用户。