CDN网络关键技术研究及应用
2014-09-24李浩光
摘 要:CDN(内容分发网络),Content Delivery Network的简称,CDN是新兴信息化网络之一,它是在IP网络上搭建而来的,它可以有效地为访问大中型网络的提速,有效地提高工作效率,强化网站信息和数据的安全,并且能够节约网站流量和有效控制成本,提高客户终端的满意度。对服务器配置文件的管理是CDN的运维的关键。
关键词:CDN;负载均衡;内容分发;Squid;配置管理
中图分类号:TP393 文献标识码:A
Research and Application of Key Technology of CDN Network
LI Haoguang
(Guangdong Polytechnic College,Guangzhou 510520,China)
Abstract:Content Delivery Network is one of the emerging information network,it is built on IP network,it can effectively for large and medium-sized network access speed, effectively improve the work efficiency, strengthen the website information and data security,and the ability to save traffic and effectively control costs,improve customer satisfaction of terminal.The management of the server configuration file is the key to the operations of CDN.
Keywords:CDN;load balancing;content distribution;squid;configuration management
1 引言(Introduction)
CDN(内容分发网络)的出现让客户端对网络的体验有了明显的改善,客户端需要有效提高网站图像和视频等数据的下载速度,可以通过CDN所提供的网络加速功能来实现,图形图像在电子商务的网站中占据了相当大的资源,想要提升客户端访问网站的速度、加快数据传输,那么就要加强对图形图像的服务与管理,为他们加速,可行的办法是把位于源站点的图形图像放置于网络边缘,这是最接近客户端的地方,这样则可以大幅度提高图像的下载速度了[1]。另一种情况就是视频较多的网站,我们可采用的办法是缓存访问量比较大的视频资源,这样既可以提高它的加载速度,又可以让服务器得到缓解压力。这样对网站服务水平的提升有着非常明显的作用。
因特网的网络堵塞问题,要通过让客户端可以在距离最短的范围中能够获得他所需要的内容来解决。我们可以把网站缓存的内容传送到离客户端最近的网络边缘,达到提升访问网站的速度,让客户端有一务器宕机的现象则可以通过CDN中的健康监测机制有效地防患。例如某个服务节点出现了故障,但保证客户端的请求内容能够被访问到,则可以通过CDN系统把客户端的请求安排到其他健康的并且是相对较近距离的节点上。
2 CDN的工作原理与网络架构的设计(CDN works
with network architecture design)
延误或等待,是客户端访问网站过程中最不愿意的事,要满足客户端在最短时间内得到访问网站,那就要放置好边缘服务器,从而达到客户端可以缩短访问延误时间和降低服务器传送资料到客户终端PC的带宽,以让客户端能够获得更佳的体验效果。如图1所示的是客户端访问CDN系统的网络逻辑结构图:
图1 客户端访问CDN系统的逻辑图
Fig.1 Client access logic diagram CDN system
CDN的工作原理是:(1)客户端提交域名;(2)浏览器对客户端提交的域名进行解释;(3)得到目标主机的IP地址;(4)根据IP地址的访问发送请求;(5)获得请求的数据并且回显。
一旦客户端来到CDN服务的网络进行访问时,第用户首先就是必须使用GSLB(Global Server Load Balance:全局负载均衡)方案重新制定跟客户端最接近的网络访问节点,下一步将由LSLB(Local Server Load Balance:本地负载均衡)方案把客户端的请求放在Cache设备上面,它是一个负载比较轻的服务设备,倘若没有命中Cache设备,那Squid服务器就会把必须的资料数据缓存到Cache设备中。
客户端访问的基本流程简述如下[2]:(1)在浏览器的地址栏中,直接输入网址(即我们需要访问的网站域名);(2)GSLB子系统解析终端浏览器输入的网址;(3)GSLB子系统把网址解析请求送到终端最近的网络访问节点上;(4)结合自身设备的负载运行情况,LSLB子系统将继续跟踪最合适的服务设备;(5)把网址的解析请求信息进行处理,若果请求被选择,则会根据输入的网址访问相关的网站;(6)响应访问相关网站的请求,提供访问的服务。
底层系统架构是一个庞大的动态应用系统平台,它重点是针对流量大、高并发网站而建立的。需要保障一个大型网站的平稳运行以及频繁的应用,就必须有一个安全可靠、并且容易扩展和维护的应用系统平台作支撑。根据经验,一般由若干个子系统组成大型的动态应用系统,这些子系统分别是:Web前端系统、负载均衡系统、数据库集群系统、缓存系统和分布式存储系统以及代码分发系统。负载均衡系统接收到由Web前端系统发送而来的有效请求,若果服务器资源能够正常使用,那么它将进一步分配资源,从而获得更佳的访问速度。endprint
3 系统的应用(Application system)
(1)Web前端系统
我们不能以应用来划分服务器,我们应该是要所有服务器看作是一个统一来使用,从而实现应用领域不同的服务器可以共享、也可以避免单点故障、集中管理、统一配置等目的,每一个服务器均可以对应一个或多个应用提供所需要的服务,我们可以通过增加服务器节点来应对在部分应用的访问量(PV)提升时,获得整个的服务。进行流量回避是Web前端系统的重要作用之一,它过滤访问的请求,把有效访问转送至负载均衡系统。
(2)负载均衡系统
负载均衡(又称为负载分担),它通过在多个操作单元上平衡和分摊负载任务进行操作。负载均衡是一种技术解决方法,它能够高度可用性和可伸缩性,它是随着大型网站或者应用应运而生的。在大型的网站中,一般采用分布式的集群主机作为服务器,客户端无任何时间地点的随机分布访问,会导致服务器资源的闲忙不分,从而容易造成客户端请求负载重的服务器宕机,大大降低服务效率。
负载均衡系统包括有硬件和软件两种。硬件负载均衡价格比较贵,但是它效率高。软件负载均衡系统的价格相对来说较为低廉,但效率就低于硬件负载均衡系统,相当多的网站都是硬件、软件负载均衡系统并用的,以达到资源整合优化效果。
以单台高性能著称的是硬件负载均衡器,而成本较低、定制灵活方便,其性能与服务器CPU、网卡等硬件直接相关的则是以Haproxy、Lvs为代表的软件负载均衡。用软件方法实现负载的典型代表——LVS,它能够实现Linux下简单的负载均衡。应用软件来实现负载均衡可以大大节约成本,但它自身也存在一些缺陷,相对硬件负载均衡设备来说,它的效率要低于硬件负载均衡设备,它的功能也比硬件负载均衡设备简单,复杂应用的负载能力也是比较差,所包含的的算法也比较少,开启隧道方式也需要重新编译内核,配置复杂只支持Linux系统。
(3)缓存系统
为了能够以较快的速度访问网站,可以把访问比较频繁的Web页面和对象保存在客户端最近距离的系统中,这样在下一次访问这些对象时就获得了较快的访问速度,这样一来可以明显降低源服务器的压力,二来也可以拒绝一部分来自网络的恶意侵入。
Web缓存我们一般可分为两类:一个是本地缓存,另一个则是代理缓存。本地缓存复制只是在客户端在同一台PC上频繁地访问页面时有效[3]。代理缓存是代理服务器为同一单位的多个客户端或客户PC缓存Web对象的单独机器。它们是在客户端和Web服务器之间的PC中,它们的工作效率远远高于本地缓存,原因在于企业本地网络中的任何客户端或PC访任意Web页面时,缓存复制对象访问该对象的任何其他客户端/计算机都是可用的,无需到因特网服务器上再次下载它。缓存原理,如图2所示。
图2 缓存处理原理图
Fig.2 Schematic caching
缓存的原理如下:当代理缓存接收到客户端的请求后,它第一步就是检查请求的内容有没有已被缓存。假如客户端的请求内容已被缓存,这种缓存有两种可能性:a.当缓存中保存的内容已经超过了之前设置的更新期限,如果源站点内容已被更新了,那么必须更新缓存中的内容,如果源站点内容没有被更新过,那么返回“未修改”的相关信息,同时更新未修改内容的时间;b.如果缓存的内容与原网站的内容保持同步,即内容是最新的,这种称为缓存命中,这时缓存将会即刻把已保存的内容发送至客户端。
(4)业务服务系统
主要处理由代理转送来的业务处理请求就是业务服务系统,一般使用处理业务能力较强的Apache和Nginx来做业务处理服务器。
稳定性强、比较丰富的功能集和低系统资源的消耗等都是Nginx的特征。Nginx它是一个性能较高的HTTP和反向代理服务器。目前Nginx技术在我国越来越受到欢迎,越来越多的网站开始部署和应用Nginx。
(5)数据库集群系统
一个大型的网络系统存放着非常多的数据,因此,建立一个良好的、高效的、稳定的数据库存储系统有着非常重要的意义。基于CDN系统的特征和稳定性考虑,应用数据库集群系统就能建立一个可靠、可提供大规模并发处理的数据库体系。数据库集群系统结构,如图3所示。
图3 数据库集群系统原理
Fig.3 Database cluster system principles
4 结论(Conclusion)
CDN系统是日后大型网站发展的新趋势,CDN网络体系的重要组成部分之一的CDN网络体系负载均衡,它对提高站点的访问速度产生着非常重要的作用。CDN负载均衡技术体系包含全局负载均衡和本地集群负载均衡,通过全局和本地两种负载均衡从而达到优化服务器资源配置,提高网站服务能力的目的。
参考文献(References)
[1] 葛秀慧,等.隐写术的研究与应用[J].计算机应用与软件,2007
(11):57-60.
[2] 李曦炎.隐写术与数字水印研究[J].甘肃科技,2005(8):80-81;
97.
[3] 宋晓麟,李才明,张锐.信息隐藏的重要分支-数字水印和隐
写术[J].内蒙古石油化工,2006(11):33-35.
作者简介:
李浩光(1981-),男,硕士,讲师.研究领域:计算机应用,电
子商务,软件工程,网络安全.endprint
3 系统的应用(Application system)
(1)Web前端系统
我们不能以应用来划分服务器,我们应该是要所有服务器看作是一个统一来使用,从而实现应用领域不同的服务器可以共享、也可以避免单点故障、集中管理、统一配置等目的,每一个服务器均可以对应一个或多个应用提供所需要的服务,我们可以通过增加服务器节点来应对在部分应用的访问量(PV)提升时,获得整个的服务。进行流量回避是Web前端系统的重要作用之一,它过滤访问的请求,把有效访问转送至负载均衡系统。
(2)负载均衡系统
负载均衡(又称为负载分担),它通过在多个操作单元上平衡和分摊负载任务进行操作。负载均衡是一种技术解决方法,它能够高度可用性和可伸缩性,它是随着大型网站或者应用应运而生的。在大型的网站中,一般采用分布式的集群主机作为服务器,客户端无任何时间地点的随机分布访问,会导致服务器资源的闲忙不分,从而容易造成客户端请求负载重的服务器宕机,大大降低服务效率。
负载均衡系统包括有硬件和软件两种。硬件负载均衡价格比较贵,但是它效率高。软件负载均衡系统的价格相对来说较为低廉,但效率就低于硬件负载均衡系统,相当多的网站都是硬件、软件负载均衡系统并用的,以达到资源整合优化效果。
以单台高性能著称的是硬件负载均衡器,而成本较低、定制灵活方便,其性能与服务器CPU、网卡等硬件直接相关的则是以Haproxy、Lvs为代表的软件负载均衡。用软件方法实现负载的典型代表——LVS,它能够实现Linux下简单的负载均衡。应用软件来实现负载均衡可以大大节约成本,但它自身也存在一些缺陷,相对硬件负载均衡设备来说,它的效率要低于硬件负载均衡设备,它的功能也比硬件负载均衡设备简单,复杂应用的负载能力也是比较差,所包含的的算法也比较少,开启隧道方式也需要重新编译内核,配置复杂只支持Linux系统。
(3)缓存系统
为了能够以较快的速度访问网站,可以把访问比较频繁的Web页面和对象保存在客户端最近距离的系统中,这样在下一次访问这些对象时就获得了较快的访问速度,这样一来可以明显降低源服务器的压力,二来也可以拒绝一部分来自网络的恶意侵入。
Web缓存我们一般可分为两类:一个是本地缓存,另一个则是代理缓存。本地缓存复制只是在客户端在同一台PC上频繁地访问页面时有效[3]。代理缓存是代理服务器为同一单位的多个客户端或客户PC缓存Web对象的单独机器。它们是在客户端和Web服务器之间的PC中,它们的工作效率远远高于本地缓存,原因在于企业本地网络中的任何客户端或PC访任意Web页面时,缓存复制对象访问该对象的任何其他客户端/计算机都是可用的,无需到因特网服务器上再次下载它。缓存原理,如图2所示。
图2 缓存处理原理图
Fig.2 Schematic caching
缓存的原理如下:当代理缓存接收到客户端的请求后,它第一步就是检查请求的内容有没有已被缓存。假如客户端的请求内容已被缓存,这种缓存有两种可能性:a.当缓存中保存的内容已经超过了之前设置的更新期限,如果源站点内容已被更新了,那么必须更新缓存中的内容,如果源站点内容没有被更新过,那么返回“未修改”的相关信息,同时更新未修改内容的时间;b.如果缓存的内容与原网站的内容保持同步,即内容是最新的,这种称为缓存命中,这时缓存将会即刻把已保存的内容发送至客户端。
(4)业务服务系统
主要处理由代理转送来的业务处理请求就是业务服务系统,一般使用处理业务能力较强的Apache和Nginx来做业务处理服务器。
稳定性强、比较丰富的功能集和低系统资源的消耗等都是Nginx的特征。Nginx它是一个性能较高的HTTP和反向代理服务器。目前Nginx技术在我国越来越受到欢迎,越来越多的网站开始部署和应用Nginx。
(5)数据库集群系统
一个大型的网络系统存放着非常多的数据,因此,建立一个良好的、高效的、稳定的数据库存储系统有着非常重要的意义。基于CDN系统的特征和稳定性考虑,应用数据库集群系统就能建立一个可靠、可提供大规模并发处理的数据库体系。数据库集群系统结构,如图3所示。
图3 数据库集群系统原理
Fig.3 Database cluster system principles
4 结论(Conclusion)
CDN系统是日后大型网站发展的新趋势,CDN网络体系的重要组成部分之一的CDN网络体系负载均衡,它对提高站点的访问速度产生着非常重要的作用。CDN负载均衡技术体系包含全局负载均衡和本地集群负载均衡,通过全局和本地两种负载均衡从而达到优化服务器资源配置,提高网站服务能力的目的。
参考文献(References)
[1] 葛秀慧,等.隐写术的研究与应用[J].计算机应用与软件,2007
(11):57-60.
[2] 李曦炎.隐写术与数字水印研究[J].甘肃科技,2005(8):80-81;
97.
[3] 宋晓麟,李才明,张锐.信息隐藏的重要分支-数字水印和隐
写术[J].内蒙古石油化工,2006(11):33-35.
作者简介:
李浩光(1981-),男,硕士,讲师.研究领域:计算机应用,电
子商务,软件工程,网络安全.endprint
3 系统的应用(Application system)
(1)Web前端系统
我们不能以应用来划分服务器,我们应该是要所有服务器看作是一个统一来使用,从而实现应用领域不同的服务器可以共享、也可以避免单点故障、集中管理、统一配置等目的,每一个服务器均可以对应一个或多个应用提供所需要的服务,我们可以通过增加服务器节点来应对在部分应用的访问量(PV)提升时,获得整个的服务。进行流量回避是Web前端系统的重要作用之一,它过滤访问的请求,把有效访问转送至负载均衡系统。
(2)负载均衡系统
负载均衡(又称为负载分担),它通过在多个操作单元上平衡和分摊负载任务进行操作。负载均衡是一种技术解决方法,它能够高度可用性和可伸缩性,它是随着大型网站或者应用应运而生的。在大型的网站中,一般采用分布式的集群主机作为服务器,客户端无任何时间地点的随机分布访问,会导致服务器资源的闲忙不分,从而容易造成客户端请求负载重的服务器宕机,大大降低服务效率。
负载均衡系统包括有硬件和软件两种。硬件负载均衡价格比较贵,但是它效率高。软件负载均衡系统的价格相对来说较为低廉,但效率就低于硬件负载均衡系统,相当多的网站都是硬件、软件负载均衡系统并用的,以达到资源整合优化效果。
以单台高性能著称的是硬件负载均衡器,而成本较低、定制灵活方便,其性能与服务器CPU、网卡等硬件直接相关的则是以Haproxy、Lvs为代表的软件负载均衡。用软件方法实现负载的典型代表——LVS,它能够实现Linux下简单的负载均衡。应用软件来实现负载均衡可以大大节约成本,但它自身也存在一些缺陷,相对硬件负载均衡设备来说,它的效率要低于硬件负载均衡设备,它的功能也比硬件负载均衡设备简单,复杂应用的负载能力也是比较差,所包含的的算法也比较少,开启隧道方式也需要重新编译内核,配置复杂只支持Linux系统。
(3)缓存系统
为了能够以较快的速度访问网站,可以把访问比较频繁的Web页面和对象保存在客户端最近距离的系统中,这样在下一次访问这些对象时就获得了较快的访问速度,这样一来可以明显降低源服务器的压力,二来也可以拒绝一部分来自网络的恶意侵入。
Web缓存我们一般可分为两类:一个是本地缓存,另一个则是代理缓存。本地缓存复制只是在客户端在同一台PC上频繁地访问页面时有效[3]。代理缓存是代理服务器为同一单位的多个客户端或客户PC缓存Web对象的单独机器。它们是在客户端和Web服务器之间的PC中,它们的工作效率远远高于本地缓存,原因在于企业本地网络中的任何客户端或PC访任意Web页面时,缓存复制对象访问该对象的任何其他客户端/计算机都是可用的,无需到因特网服务器上再次下载它。缓存原理,如图2所示。
图2 缓存处理原理图
Fig.2 Schematic caching
缓存的原理如下:当代理缓存接收到客户端的请求后,它第一步就是检查请求的内容有没有已被缓存。假如客户端的请求内容已被缓存,这种缓存有两种可能性:a.当缓存中保存的内容已经超过了之前设置的更新期限,如果源站点内容已被更新了,那么必须更新缓存中的内容,如果源站点内容没有被更新过,那么返回“未修改”的相关信息,同时更新未修改内容的时间;b.如果缓存的内容与原网站的内容保持同步,即内容是最新的,这种称为缓存命中,这时缓存将会即刻把已保存的内容发送至客户端。
(4)业务服务系统
主要处理由代理转送来的业务处理请求就是业务服务系统,一般使用处理业务能力较强的Apache和Nginx来做业务处理服务器。
稳定性强、比较丰富的功能集和低系统资源的消耗等都是Nginx的特征。Nginx它是一个性能较高的HTTP和反向代理服务器。目前Nginx技术在我国越来越受到欢迎,越来越多的网站开始部署和应用Nginx。
(5)数据库集群系统
一个大型的网络系统存放着非常多的数据,因此,建立一个良好的、高效的、稳定的数据库存储系统有着非常重要的意义。基于CDN系统的特征和稳定性考虑,应用数据库集群系统就能建立一个可靠、可提供大规模并发处理的数据库体系。数据库集群系统结构,如图3所示。
图3 数据库集群系统原理
Fig.3 Database cluster system principles
4 结论(Conclusion)
CDN系统是日后大型网站发展的新趋势,CDN网络体系的重要组成部分之一的CDN网络体系负载均衡,它对提高站点的访问速度产生着非常重要的作用。CDN负载均衡技术体系包含全局负载均衡和本地集群负载均衡,通过全局和本地两种负载均衡从而达到优化服务器资源配置,提高网站服务能力的目的。
参考文献(References)
[1] 葛秀慧,等.隐写术的研究与应用[J].计算机应用与软件,2007
(11):57-60.
[2] 李曦炎.隐写术与数字水印研究[J].甘肃科技,2005(8):80-81;
97.
[3] 宋晓麟,李才明,张锐.信息隐藏的重要分支-数字水印和隐
写术[J].内蒙古石油化工,2006(11):33-35.
作者简介:
李浩光(1981-),男,硕士,讲师.研究领域:计算机应用,电
子商务,软件工程,网络安全.endprint