CDN协议原理

  • 2020 年 1 月 27 日
  • 筆記

之前的文章中,我提到过,当你想要访问我的博客shiyujun.cn时,DNS就会将这个域名解析为IP地址,然后你的浏览器会请求这个IP地址,返回一个网页。

最开始的时候,我的博客部署在了北京区,粉丝比较少,大家访问起来速度还可以。但是当博客粉丝越来越多的时候,就会明显存在一个问题,北京的同学感知不到,上海、深圳的同学访问起来就比较慢了。针对这个情况,我就利用了CDN技术来优化了一下我的博客

当我使用过CDN技术后,你再访问我的博客经历的可能就是这样一个流程了:

当本地DNS服务器请求到shiyujun.cn的权威DNS服务器时,这个权威DNS服务器就不会直接返回IP地址了。在这个服务器上,会设置一个 CNAME,指向CDN网络的全局负载均衡器。接下来,本地 DNS 服务器去请求 CDN 的全局负载均衡器解析域名,全局负载均衡器会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:

  • 根据用户 IP 地址,判断哪一台服务器距用户最近
  • 用户所处的运营商
  • 根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有用户所需的内容
  • 查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力 基于以上这些条件,进行综合分析之后,全局负载均衡器会返回一台缓存服务器的 IP 地址