CDN学习
1.正常的网站访问流程
正常的浏览器访问服务器的过程
- Broser访问DNS服务器,寻求域名对应的IP地址;
- DNS服务器返回域名对应的IP地址;
- broser访问对应的服务器。详情见下图:
但是存在这样一个问题,假如你访问的服务器离你很远,这样就会存在网络延迟,这是我们不能接受的。由此CDN就出现了,其原理类似于快递的前置仓,相当于在你家门口搞个仓库,这样你下单某商品时,就能在很短时间内送货上门。
2.CDN工作过程
CDN是基于DNS来实现的,其工作过程如下:
- 首先域名要开通CDN服务;
- 开通了CDN域名服务的域名访问DNS服务器,获取CDN负载均衡服务器的IP1;
- 根据IP1访问CDN负载均衡服务器;
- CDN负载均衡服务器,会选择一台合适broser的CDN服务器IP地址IP2(更确切的说是cname)给用户。“合适”一词的意思可以代表:该服务器可能存在你需要的资源;该服务器离你现对来说很近;该服务器可能目前业务不是很忙,有空闲的资源来处理你的请求;
- 访问IP2对应的CDN服务器,此时存在两种情况:1)存在brose需要的资源,即直接返回;2)逐层向上寻找,向上层缓存服务器寻找,最坏情况是到最后的源站服务器得到需要的资源文件。在逐层寻找返回的过程中,资源文件会在每层服务器进行缓存,以便于下次访问【这里谈一点自己的理解:这种方式类似程序的局部性原理,即程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分,可能人们日常生活需要做的事情,大部分都是重复的吧】。
最后说下CDN的优点:
- 访问速度较快;
- 避免源站服务器因为宕机而导致服务瘫痪,因为有缓存机制;
以上是本人学习记录,如有错误,烦请指正。