CDN是什么

CDN, 即content delivery network,内容分发网络。

为什么需要它呢?

拿我们最常见的一个html来说,当你想向服务器请求一个页面时,通常这个html包含很多动态的js,css脚本,也包括好多静态的资源,如jpg,png,video等种种大文件。如果所有的资源都从源服务器获得,这么多静态的大文件,不仅仅对服务器是巨大的压力,而且对于用户来说,距离源服务器较远的用户,自然中间经过的route节点较多,网络时延较大,体验会大打折扣。

所以就有这样一种服务,用来提供对源服务器的响应速度进行加速,方法就是通过对源服务器中被频繁请求到的资源进行缓存备份,并且通过在用户使用范围内多点部署缓存备份,使得用户可以就近找到缓存服务器,取到自己想要的资源。一般这种服务的网络带宽和稳定性都会比一般网络好,所以用户的体验和源服务器的业务递交也都有了保证,企业可以更加专注在自己的业务上,而不用太忧心网络造成的用户体验问题。这种服务就是CDN。

 

CDN的工作流程:

CDN网络通畅由DNS服务器和调度服务器以及数台缓存服务器组成。

1 用户发起请求http://xxx.com/example.html,请求发往DNS服务器,DNS服务器看到了域名为xxx.com,它知道这个域名很有可能是CDN网络上注册的一个加速的域名,它把这个xxx.com认为是CNAME,把这个解析发送给CDN专用的DNS服务器。

2 CDN专用的DNS服务器通过查表,知道这个某个企业在它那里注册的一个CNAME,查询到这个CNAME应该以及对应的负载均衡服务器的IP返回给用户

3 用户现在知道自己被redirect到这台CDN网络中的负载均衡服务器上去找自己的资源,当然对用户来说,它并不知道这台服务器是用来负载均衡的,它只知道自己接受到了redirect指令,需要往新的IP上请求自己想要的东西。

4 CDN的负载均衡服务器根据用户的位置,返回一台用户所在区域内的负载均衡服务器,告诉用户向这台区域负载均衡服务器发起请求。

5 用户向所在区域内的负载均衡服务器发起请求,负载均衡服务器会根据以下条件来为用户选择一台最合适的缓存服务器

缓存服务器是否离用户距离近

缓存服务器上是否有用户所请求的内容

缓存服务器是否可以负载新来的请求,是否有服务能力

6 用户向缓存服务器发出请求,缓存服务器响应用户的请求并且把用户请求的内容返回。如果缓存服务器上尚没有存储用户请求的内容而负载均衡服务器还是分配了它,那么它需要向上级缓存服务器去求取内容,一层层的直到请求到源服务器,把内容拉取到各级缓存服务器中。

 

CDN的好处:

1 提高了企业站点的访问速度

2 提升了用户体验

3 缓解了企业源站点的压力,使得服务更加鲁棒

4 屏蔽了实时源站请求时,各个运营商网络互连之间的瓶颈

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值