CDN

1、什么是CDN?

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

例如电商物流在全国各地建立很多仓库,并不是只有总部的中心仓库才可以发货,当你下单时,而是从就近的仓库给你发出。这样用户体验大大提高。

全球有很多的数据中心,在这些数据中心里部署几台机器形成一个缓存的集群来缓存部分数据,那么用户访问时,就可以就近访问了。分布在各个地方的各个数据中心的节点称为边缘节点。边缘节点数目多,但是规模小,不可能缓存所有东西,因而可能无法命中,这样在边缘节点之上就有了区域节点,中心节点。规模越大,缓存的数据越多。如果还不命中,就只好回源网站访问了。

 这就是CDN的分发系统的架构。我们来看,客户端如何找到相应的边缘节点进行访问的!

2、没有CDN的情况

用户向浏览器输入 www.web.com这个域名,客户端访问本地DNS服务器,本地DNS服务器有缓存则返回网站地址;如果没有,就会递归查询到网站负责负责 web.com 的权威DNS服务器,返回网站的 IP 地址。本地DNS服务器缓存下来这个IP地址,将IP地址返回,然后客户端直接访问。

3、有CDN的情况

在 web.com 这个权威 DNS 服务器上,会设置一个 CNAME 别名,指向另外一个域名 www.web.cdn.com,返回给本地 DNS 服务器。

本地DNS服务器拿到这个新域名,继续解析此域名。这时,访问就是CND自己的权威服务器了,即负责 web.cdn.com 的权威 DNS 服务器,在这个服务器上,还是会设置一个 CNAME,指向另外一个域名,也即 CDN 网络的全局负载均衡器。

本地 DNS 服务器去请求 CDN 的全局负载均衡器解析域名,全局负载均衡器会为用户选择一台合适的缓存服务器提供服务。

选择的合适缓存服务器的依据:

  • 根据用户 IP 地址,判断哪一台服务器距用户最近;
  • 用户所处的运营商;
  • 根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有用户所需的内容;
  • 查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。

4、CDN缓存静态数据

比如电商系统的静态页面、图片,不怎么变,所有适合缓存。

这是接入层缓存的架构。在进入数据中心的时候,Nginx层会把HTTP请求的大部分静态资源拦截到到Varnish缓存层,当缓存过期的时候,才会访问真正的Tomcat应用集群。而 CDN 则更进一步,将这些静态资源缓存到离用户更近的数据中心外。越接近客户,访问性能越好,时延越低。

5、CDN缓存动态数据

  • 一种为生鲜超市模式,也即边缘计算的模式。既然数据是动态生成的,所以数据的逻辑计算和存储,也相应的放在边缘的节点。其中定时从源数据那里同步存储的数据,然后在边缘进行计算得到结果。就像对生鲜的烹饪是动态的,没办法事先做好缓存,因而将生鲜超市放在你家旁边,既能够送货上门,也能够现场烹饪,也是边缘计算的一种体现。
  • 另一种是冷链运输模式,也即路径优化的模式。数据不是在边缘计算生成的,而是在源站生成的,但是数据的下发则可以通过 CDN 的网络,对路径进行优化。因为 CDN 节点较多,能够找到离源站很近的边缘节点,也能找到离用户很近的边缘节点。中间的链路完全由 CDN 来规划,选择一个更加可靠的路径,使用类似专线的方式进行访问。

小结

  • CDN 和电商系统的分布式仓储系统一样,分为中心节点、区域节点、边缘节点,而数据缓存在离用户最近的位置。
  • CDN 最擅长的是缓存静态数据,除此之外还可以缓存流媒体数据,这时候要注意使用防盗链。它也支持动态数据的缓存,一种是边缘计算的生鲜超市模式,另一种是链路优化的冷链运输模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值