如今这个时代,几乎所有人都离不开手机,电脑。进行刷视频上网站看电影等多种放松自身的娱乐行为。
在这里大家有没有经常遇到一个问题,看电视访问网站的时候,经常会出现缓存的情况。明明自己的网速非常快,为什么还是会出现这样子情况?
就拿看视频来举个例子
我这边简单计算了下如果当做看一个1080ps清晰度的视频来计算需要4MBps带宽,那么像腾讯 优酷这样的物联网视频平台同时有500万人观看的话那么就需要20Tbps带宽,这意味这物联网视频平台将顶着多大的流量压力。
像我们常用的普通计算机是1Gbps的带宽。如果需要同时满足500万人同时在线观看,那么就需要用到2万块平台计算机的网卡,前提是必须要百分比跑满性能。
对于那边金钱实力不够公司平台,这将是无比巨大的挑战
打个比方,您下班需要回家,这时同时有2辆出租车像您行驶来,您当然是上离您最近最方便的这辆。而延迟就好比这第二辆在后面的车,这就意味这客户的流失,利益的流失。我相信没有任何一个商家希望出现这类情况,肯定会尽所能,去缩短客户的等待时间。
而CDN,就是一项非常有效的缩短时延的技术。
CDN的全称是Content Delivery Network,即内容分发网络。
CDN的基本原理是广泛分布安置各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求,这样就能大大的降低缓冲缓存,给客户带来更好的体验
纵观整个宽带服务的价值链,内容提供商和用户位于整个价值链的两端,中间依靠网络服务提供商将其串接起来。随着互联网工业的成熟和商业模式的变革,在这条价值链上的角色越来越多也越来越细分。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
图中CDNS 就是我们所说的缓存服务器
我们知道了什么是CDN,那么分发的原理是什么呢? 用户向浏览器提供需要访问的域名;浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际的IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析。如根据地理位置信息解析对应的IP地址,使得用户能就近访问;此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的ip地址之后,向缓存服务器发出访问请求;缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;缓存服务器从实际IP地址得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据放回给客户端,完成数据服务过程;客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
CDN的好处
采用CDN技术,最大的好处,就是加速了网站的访问——用户与内容之间的物理距离缩短,用户的等待时间也得以缩短。
而且,分发至不同线路的缓存服务器,也让跨运营商之间的访问得以加速。
例如中国移动手机用户访问中国电信网络的内容源,可以通过在中国移动假设CDN服务器,进行加速。效果是非常明显的。
此外,CDN还有安全方面的好处。内容进行分发后,源服务器的IP被隐藏,受到攻击的概率会大幅下降。而且,当某个服务器故障时,系统会调用临近的健康服务器,进行服务,避免对用户造成影响。