CDN
2017-03-27 21:42
211 查看
CDN全称Content Delivery Network 是建立在现有网络上的网络架构,目标用来解决网络拥挤、网络延时严重、不同网络服务提供商不兼容性问题,缩短用户请求相应时间。
B\S架构下未加入CDN用户通过浏览器等方式访问网站的过程如图1-2所示。
①用户在自己的浏览器中输入要访问的网站域名。
②浏览器向本地DNS服务器请求对该域名的解析。
③本地DNS服务器中如果缓存有这个域名的解析结果,则直接响应用户的解析请求。
④本地DNS服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个DNS系统请求解析,获得应答后将结果反馈给浏览器。
⑤浏览器得到域名解析结果,就是该域名相应的服务设备的IP地址。
⑥浏览器向服务器请求内容。
⑦服务器将用户请求内容传送给浏览器。
在网站和用户之间加入CDN以后,用户不会有任何与原来不同的感觉。最简单的CDN网络有一个DNS服务器和几台缓存服务器就可以运行了。一个典型的CDN用户访问调度流程如图下图所示。
①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
③用户向CDN的全局负载均衡设备发起内容URL访问请求。
④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
⑥全局负载均衡设备把服务器的IP地址返回给用户。
⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
CDN类似于线下的分销网络,用户购买商品不用到总产商那里获取,在最近区域分销商那里就能够获取所需商品,如果分销商没有所要商品,由分销商从总产商那里获取商品售给用户,这样为用户节约成本和时间。
CDN服务器可以为线上网站缓存所需的静态网页、静态文本(脚本、CSS文件)和图片,使得用户获取资源时间缩短,并且减少了源网站的请求压力,避免了不可知的网络问题。
B\S架构下未加入CDN用户通过浏览器等方式访问网站的过程如图1-2所示。
①用户在自己的浏览器中输入要访问的网站域名。
②浏览器向本地DNS服务器请求对该域名的解析。
③本地DNS服务器中如果缓存有这个域名的解析结果,则直接响应用户的解析请求。
④本地DNS服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个DNS系统请求解析,获得应答后将结果反馈给浏览器。
⑤浏览器得到域名解析结果,就是该域名相应的服务设备的IP地址。
⑥浏览器向服务器请求内容。
⑦服务器将用户请求内容传送给浏览器。
在网站和用户之间加入CDN以后,用户不会有任何与原来不同的感觉。最简单的CDN网络有一个DNS服务器和几台缓存服务器就可以运行了。一个典型的CDN用户访问调度流程如图下图所示。
①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
③用户向CDN的全局负载均衡设备发起内容URL访问请求。
④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
⑥全局负载均衡设备把服务器的IP地址返回给用户。
⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
CDN类似于线下的分销网络,用户购买商品不用到总产商那里获取,在最近区域分销商那里就能够获取所需商品,如果分销商没有所要商品,由分销商从总产商那里获取商品售给用户,这样为用户节约成本和时间。
CDN服务器可以为线上网站缓存所需的静态网页、静态文本(脚本、CSS文件)和图片,使得用户获取资源时间缩短,并且减少了源网站的请求压力,避免了不可知的网络问题。
相关文章推荐
- CDN工程师:还没用上TLS1.2- 那就直接升级到TLS1.3吧
- 七牛云上传图片到cdn,cdn返回的是一个只有图片的url
- CDN缓存那些事
- CDN(内容分布网络)
- 【CDN 最佳实践】CDN缓存策略解读和配置策略
- 想了解阿里云CDN产品介绍及使用入门,还不快点进了
- CDN
- 想提高用户访问的响应速度和成功率还不赶快学习CDN
- 国内外常用JavaScript公共库CDN加速服务
- CDN缓存小结
- 本地可以服务器上不行的问题之https加载cdn资源
- 如何将CDN视频转码集群的吞吐打到10Gbp/s
- 融合CDN,纾解数据拥塞之困
- linux-9-CDN解析
- 阿里云 CDN HTTPS 最佳实践——TLS record size(五)
- webpack3实战(1)打包一个CDN引入的jQuery项目
- CDN
- CDN
- CDN概念基本介绍