两分钟了解什么是CDN

什么是CDN
    CDN,全称Content Delivery Network,即内容分发网络,其是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。
    CDN的应用很广泛,支持多行业、多场景的内容加速,如:图片小文件、大文件下载、音视频点播、直播流媒体、全站加速、安全加速等。
 
 
CDN工作原理
请看下图:
在这里插入图片描述
 
我们假设 www.a.com 是通过 CDN 加速的域名,开始使用CDN 加速服务后,当终端用户(北京)发起HTTP请求时,后续的处理流程如下:

  1. 当终端用户(北京)向域名 www.a.com 下的指定资源发起请求时,首先向本地DNS(LDNS)发起域名解析;
  2. LDNS 检查缓存中是否存在 www.a.com 的 IP 地址记录。如果有,就直接返回给用户;否则,向授权 DNS 发起查询;
  3. 当授权 DNS 解析 www.a.com 时,返回域名CNAME www.a.tbcdn.com 对应IP地址;
  4. 域名解析请求发送到 DNS 调度系统,返回调度系统为该请求分配的最佳节点 IP 地址;
  5. LDNS 拿到 DNS 解析后返回的IP地址;
  6. 用户获取到解析后的 IP 地址;
  7. 最后用户向得到的 IP 地址发起该资源的访问请求。

    如果该 IP 地址对应的节点已经缓存了目标资源,那么就会将数据直接返回给用户,如图中步骤7和8,此时请求结束。
    如果该 IP 地址对应的节点未缓存目标资源,那么节点就会向源站发起对资源的请求。拿到资源后,结合用户配置的缓存策略,将该资源缓存至节点(如图中的北京节点),并返回给用户,此时请求结束。
 
 
通过上述说明,可以得出的结论是:
(1)CDN 的加速资源其实是跟域名绑定的;
(2)通过域名访问资源,首先是通过 DNS 查找离用户最近的 CDN 节点(边缘服务器)的 IP;
(3)通过 IP 访问目标资源时,如果 CDN 上没有缓存过,就会到源站请求资源,之后=缓存到 CDN 节点,因此,当用户下一次访问时,这个 CDN 节点就已经有对应资源的缓存了。

 
 
最后,如果粗浅的解释CDN的话,或许可以用这样这样的更直接的方式来讲:

“如果我们把某种网络资源,看成是某种路途遥远曲折但却是很多人都喜欢吃的美食,CDN就是把他们一次性的空降到我们面前(且假设可以共享并取之不尽),让我们可以轻而易举的大快朵颐”。

可以说,CDN 本质是缓存,而内核中支撑它的互联网精神是共享

 
 
 
 
 
 
 
 
 
 
 
参考链接:
https://www.zhihu.com/question/36514327

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值