负载均衡在计算机网络中的应用研究
2014-08-15黄涛
【摘要】信息时代的发展促进互联网的使用呈指数级快速增长,更快捷、可靠以及功能更加丰富的网络需求不断增加,这使得站点的访问负载也随之增大。如何应用更高的吞吐率,实现更好的交互性,满足更高的网络安全性,成为服务平台必须要具备的能力。本文通过研究负载技术在网络中的应用,选择合适的负载均衡策略,建立可伸缩的高性能的网络服务,消除负载分布不均的情况,进而解决网络中存在的数据传输拥挤、反应时间长的技术瓶颈。
【关键词】负载均衡;计算机网络;应用
1引言
计算机网络的快速发展,使得网络建设和维护服务成为一项具有挑战性的任务,这样的系统必须在满足不断增长性能需求的同时,提供高性能和可靠的服务。所以,如何建立高效的网络服务是摆在研究者面前极富挑战性的任务。网络服务负载均衡技术便是围绕这一任务而产生的。
2负载均衡技术
负载均衡(Load Balance)是指均衡服务器和应用程序之间的流量,它建立在现有的网络框架上,通过一种有效的技术来扩展网络设备和服务器的带宽、加强网络数据处理能力,进行提高网络的可用性和灵活性。针对网络上负载过重的不同瓶颈,从网络的不同层次来划分,负载均衡技术的实现可以分为客户端负载均衡技术、应用服务器负载均衡技术、动态域名系统、高层协议交换、网络接入协议交换和传输链路聚合六个层次。目前有许多不同的负载均衡技术用以满足客户差异性的需求。
(1)软/硬件负载均衡。主要优点在于环境稳定、配置简单,操作灵活,可以满足一般性的需要。硬件负载均衡在性能上要优于软件,不过其高昂的成本也限制了其发展。
(2)本地/全局负载均衡。本地负载可以充分利用现有的设备和服务器,通过灵活多样的均衡策略实现数据流量的合理分配,进行减小服务器的负担。当需要对现有服务器升级时,只需要简单的增加,而不用改变现有的网络框架。全局负载均衡主要用于在一个多区域拥有自己服务器的站点,可以使用户以一个域名访问到离自己最近的服务器,从而获得最快的访问速度,同时减轻了网络拥挤的情况。
3负载均衡的策略
负载均衡策略的优劣主要取决于两个因素:一个是算法;一个是网络检测的方式与能力。
负载均衡算法是在考虑到各种服务请求,以及服务器的处理能力后,为了更加合理地把负载分配给内部的多台服务器而采用的调度算法。好的调度算法一方面要使每台服务器都充分发挥各自的性能,又要使整个网络实现负载均匀。常用的算法有四种:轮询算法、加权轮询算法、最少连接算法、加权最小连接算法。
(1)轮询算法是连接请求按顺序轮流分配到不同的服务器上。但这种算法的问题在于不能根据服务器的性能、响应时间等参数进行动态的分配请求,对所有的服务都平等对待。
(2)加权轮询算法是对轮询算法的改进,用权值来计算每台服务器的性能,进行调度访问请求。通过自动询问服务器的真实负载情况来动态调整其权值。
(3)最少连接算法,是一种动态算法。它计算每台服务器的连结数,进而把请求分配给最少连接数的服务器。
(4)加权最小连接算法可以克服最少连接算法的单纯考虑连接数的缺点,它为服务器组中每台服务器分配一个可以衡量其性能的权值,该权值可以客观上表示其处理的连接。在处理新的分配请求时,算法根据活动连接数与其权值的比值来决定该把请求分配给哪台服务器。
有好的负载算法,还要有对网络络系统状况的检测方式和能力,这样才能在网络出现故障的情况下,保证数据请求不会丢失。目前常用的检测主要有三种:Ping侦测、TCP Open侦测以及HTTP URL侦测。
(1)Ping侦测:通过ping的方式检测服务器及网络系统状况。优点是简单快速,缺点是对服务器的应用服务无法进行检测。
(2)TCP Open侦测:通过检测服务器上某个TCP端口来判断服务器的异常。常用的端口如Telnet的23端口,HTTP的80端口等。
(3)HTTP URL侦测:通过向HTTP服务器发出访问请求来判断服务器是否出现故障。
4负载均衡的应用
4.1基于客户端的负载均衡
这种模式指的是通过在网络的客户端运行某个特定的程序来收集服务器的某些运行参数,如CPU占用情况以及内存等信息,再通过选择某种负载均衡策略来决定把请求发送到某个服务器。这种技术要求每一个客户端都必须安排这个采集程序,而且为了保证应用层的透明运行,必须对应用程序加以修改,通过动态链接库或者嵌入的方法,所以工作量比较大。在使用Java的构架模型中应用比较广泛。主要在于Java应用都基于虚拟机进行,可以在应用层和虚拟机之间设计一个中间层,可以处理负载均衡的工作。
4.2应用服务器的负载均衡技术
基于客户端的负载均衡需要对客户端进行特殊的修改,这样增加了工作量。而针对应用服务器的负载均衡技术将是将客户端的负载均衡移植到一个中间平台,通过中间层服务器将请求均衡地发送到各服务结点。实现这个技术比较常见的手段就是反向代理技术。这种技术可以在一定程度上提升静态网页的访问速度,从而实现网络的负载均衡。但是反向代理服务器在达到很高效率的同时也存在缺点,针对每次的代理,它必须维护内外两个连接,对代理服务器的负载就会加大,这样会使反向代理服务器本身成为瓶颈。
4.3基于域名系统的负载均衡
基于域名系统的负载均衡技术是使用动态的DNS,为多个地址配置同一个名字,客户机通过这个名字得到一个地址,进而实现了不同的客户访问不同的服务器,实现负载均衡。优点在于动态DNS轮询实现起来简单,无需更多的管理。但是它也存在不少问题,如无法判断服务结点的有效性;受数据刷新时间过长,则可能获得不同的IP地址,受数据刷新时间过短则会使DNS 流量大增造成额外的网络负担;以及不能区分服务器的差异性,不能反映当前服务器的运行状态。因此,该技术的效果并不理想。
4.4网络接入协议交换
通过交换机可以实现将外部的连接请求与内部多个地址相联系,通过建立虚拟的连接进行数据交换,因此,具备第四层交换能力的局域网交换机可以作为一种负载均衡器实现网络的负载均衡。由于硬件系统本身的造价比较高,可以利用Linux 虚拟服务器,在相对高效稳定的核心空间进行IP包的数据处理工作,增加灵活性的同时也减少了成本。
5结束语
无论是采用软件方式,或者是购买高性能的第四层交换机,或者是其它种类的均衡技术,在设计负载均衡方案的时候都要考虑到系统的性能,做到可扩展,易管理,保证系统的灵活性和可靠性,进行保证网络高效运行。
参考文献
[1] 张渊,郭涛峰,张攀翔,高建军,臧佳艳.负载均衡技术在统一采集平台中的应用研究与实现[J].电信科学,2013,12:145-154.
[2] 聂波,宋子龙.网络负载均衡技术研究和应用[J] .中国管理信息化,2014,03:68-70.
[3] 邓雪刚,王嘉,赵壤,黎艺,龚彬.大型电子政务应用系统负载均衡的设计与实现[J].云南大学学报(自然科学版),2013,S2:233-236.
作者简介:
黄涛(1979-),男,新疆大学,在职研究生,工学学士学位,现任新疆塔城地区公安消防支队作战指挥中心副主任,长期从事消防通信工作;主要研究方向和关注领域:网络应用与管理。endprint