您的位置:首页 > 移动开发

CDN加速,App与Big-man

2017-08-23 23:09 141 查看

CDN加速,App与Big-man



今天Big-man在市场部的人员哪里获得了一个app软件的加载问题,在户外的设备网络出现了加载缓慢的问题。这个问题成为我们内部市场人员无法解决的一个问题,软件加载很慢,如何去给我们的客户介绍我们的软件,如何让他们信服,这些都是接踵而来的问题。所以想要去了解一下CDN加速了。

Big-man首先要介绍的肯定就是什么是CDN了?

CDN,Content Delivery Network
,基于内容的分布式分发网络。

那么什么是CDN服务?

简单的说CDN就是让原本信阳的浏览器要访问郑州主站内容的请求转而由部署在信阳或者武汉的缓存来受理,这样请求的数据只需经过一跳或有限的几跳就能到达请求端,有效利用带宽并且降低主站压力,对于电子商务网站和搜索引擎网站以及门户网站,
CDN
的合理应用显得尤为重要。

可能上面介绍的定义有点生硬,Big-man已经感觉到了,所以他想到需要介绍一下背景来源?

当下的互联网应用都包含大量的静态内容,但静态内容以及一些准动态内容又是最耗费带宽的,特别是针对全国甚至全世界的大型网站,如果这些请求都指向主站的服务器的话,不仅是主站服务器受不了,单端口500M左右的带宽也扛不住,所以大多数网站都需要CDN服务。

一般需要CDN服务的网站会选择一下的组织方案:

1、通过租用的IDC提供额外的CDN服务;

2、购买专业的CDN服务商的服务;

3、自己组建CDN网络;成本依次增高。

CDN
设计目的是实现Web内容的负载均衡,防止出现访问请求热点,延时响应等Web请求通病。基于此,
CDN
的特点可以说有:

1、分布式存储;

2、通过智能DNS解析或http重定向实现内容分发的负载均衡;

3、全局负载均衡管理与内容管理。

可能阅读这一篇文章的小伙伴,不太理解什么是Web内容的负载均衡

负载均衡技术

负载均衡技术不仅仅应用于CDN中,在网络的很多领域都得到了广泛的应用,如服务器的负载均衡网络流量的负载均衡。顾名思义,网络中的负载均衡就是将网络的流量尽可能均匀分配到几个能完成相同任务的服务器或网络节点上,由此来避免部分网络节点过载。这样既可以提高 CDN加速网络流量,又提高了网络的整体性能。

CDN
中,负载均衡又分为服务器负载均衡服务器整体负载均衡(也有的称为服务器全局负载均衡)。服务器负载均衡是指能够在性能不同的服务器之间进行任务分配既能保证性能差的服务器不成为系统的瓶颈,又能保证性能高的服务器的资源得到充分利用。而服务器整体负载均衡允许Web网络托管商、门户站点和企业根据地理位置分配内容和服务。通过使用
多站点内容
服务
来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障
。在CDN的方案中服务器整体负载均衡将发挥重要作用,其性能高低将直接影响整个CDN的性能。

但是就Big-man了解的
CDN
加速的方式,除开负载均衡之外,还有动态内容分发与复制技术

大家都知道,网站访问响应速度取决于许多因素,如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等

多数情况下,网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远的话,它们之间的通信一样需要经过重重的路由转发和处理,网络延误不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上。所以动态内容分发与复制技术也是CDN所需的一个主要技术。

缓存技术:

缓存技术已经不是一种新鲜技术。Web缓存服务通过几种方式来改善用户的响应时间,如代理缓存服务、透明代理缓存服务、使用重定向服务的透明代理缓存服务等。通过Web缓存服务,用户访问网页时可以将广域网的流量降至最低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索网页。对于Internet用户来说,这意味着将内容存储在他们的ISP的缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是CDN所采用的又一个主要技术

CDN网络结构:

CDN网络一般分为中心边缘节点两部分,中心负责全局负载均衡管理与内容管理

中心节点的功能如下:

1、 随时监控边缘节点的健康状况(可用性,拥塞程度);

2、 根据边缘节点到请求端的距离,以及边缘节点的健康状况,按一定的策略重定向请求;

3、 与客户主站进行数据同步

CDN工作原理

传统的未加缓存服务的访问过程:

1、用户向浏览器提供要访问的域名 ;

2、浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址 ;

3、浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求 ;

4、浏览器根据域名主机返回的数据显示网页的内容。



但是Big-man的App有一个特殊的地方就是WebApp,并且是基于无线的认证这一块的App流程。而Big-man团队的认证界面的链接却是IP地址给的链接,所以认证的时候才会出现一些情况,软件是域名打包的智慧信阳

CDN网络是在用户和服务器之间增加一个
Cache
层,如何将用户的请求引导到
Cache
上获得服务器的数据,主要是通过接管
DNS
实现,访问使用CDN缓存后的网站的过程:

1、用户向浏览器提供要访问的域名;比如Big-man的WebApp域名提供过去。

2、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址; 在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。特别是像Big-man这样的无线Wifi这样的经营,Wifi的距离和加载速度有着直接关系,所以CDN这样的技术是需要的。

3、此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;

4、缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;

5、缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;



1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;

2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统;

3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;

4.用户向该IP节点(CDN服务器)发出请求;

5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;

6.请求结果发给用户。

当然很多细节没有涉及到,比如第1步,首先向本地的DNS服务器请求。第5步,内容淘汰机制(根据TTL)等。但原理大体如此。

对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。

每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器

负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中 总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。

Jackdan9 Thinking
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cdn app 软件 网络