基于Linux的服务器集群负载均衡系统的研究_百度文库_第1页
基于Linux的服务器集群负载均衡系统的研究_百度文库_第2页
基于Linux的服务器集群负载均衡系统的研究_百度文库_第3页
基于Linux的服务器集群负载均衡系统的研究_百度文库_第4页
基于Linux的服务器集群负载均衡系统的研究_百度文库_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Linux 的服务器集群负载均衡系统的研究熊松华东交通大学信息工程学院,南昌 (330013E-mail :摘 要:负载均衡是建立在现有网络结构之上,提供一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力的方法。提出了负载均衡算法的组成,分析比较了几种算法各自的优点和短处。通过调度思想设计实现了一种基于Linux 操作系统的服务器集群负载均衡系统。通过实际的测试数据证明了这种负载均衡模式的有效性。关键词:负载均衡,服务器集群,LINUX ,调度中图分类号:TP393.011. 引言互联网的快速增长已经使网络服务器面对的访问数量大大增加并且将来的增长速度更加不可预知。如今,务

2、器必须具备提供大量并发访问服务的能力,其处理能力和I/O能力已经成为瓶颈,如果客户的增多导致处理量超出了服务器所能承受的范围,那么其结果必然是导致服务器拒绝服务或者崩溃,严重影响服务质量,造成巨大的经济损失。显然,单台服务器有限的性能不可能解决这个问题,可将多台服务器组成一个系统,并通过软件技术将所有业务处理请求和I/O吞吐平均分配给所有服务器,那么这个系统就完全拥有足够的处理能力,这便是负载均衡最初的基本设计思想。Linux 系统是当今使用非常广泛的服务器系统,它具有良好的安全性、高效性、稳定性、可扩展性和易用性。特别需要提到的是Linux 系统是开源操作系统,所有源代码是公开的并且可以在遵

3、循GPL (General Public License)的情况下可按需修改源程序,制定符合特殊应用领域的专业操作系统。在本文阐述的负载均衡技术的研究中,将使用上述Linux 操作系统的优点和特性,设计出合理高效的系统1。本文内容是基于Linux 操作系统的服务器集群负载均衡技术的研究,针对当前大中型服务应用中所遇到的瓶颈,进行了深入的研究,提出了一些解决办法。2. 负载均衡系统的算法分析2.1 负载均衡的种类负载均衡分为两种类型:一种是静态负载均衡,一种是动态负载均衡。只是利用系统负载的平均信息,而忽视系统当前的负载状况的方法被称为静态负载均衡。根据系统当前的负载状况来调整任务划分的方法被称

4、为动态负载均衡。本文中将针对动态负载均衡进行分析与研究。2.2 产生负载不均衡的原因分析产生负载不均衡的原因主要有以下三种:1 某些算法的迭代大小不是固定的,但迭代的大小在编译时却可以被求得;2 某些算法的迭代大小不是固定的,并且迭代的大小依赖于被处理的数据,在编译时无法求得;3 即使迭代大小是固定的,也会有许多不定因素导致计算速度的差异;对于第一种情况可在编译时估计各迭代的工作量,按照处理节点的处理能力分布迭代,这就是静态负载均衡的方法。对第二、三种情况来说,必须采用动态负载均衡的手段,在运行过程中根据各个处理节点完成任务的情况,动态地迁移任务,实现动态负载均衡。进行动态负载均衡需要考察处理

5、节点的处理能力,它的基本依据是根据处理节点当前的处理速度预见未来的处理速度2。2.3 负载均衡算法的组成一个负载均衡算法应当包含以下三个组成部分:信息策略:任务放置策略使用的负载和任务量,以及信息分配的方式。传送策略:基于任务和服务器负载,判断是否要把一个任务传送到其它服务器上处理。 放置策略:对于适合传送到其它服务器处理的任务,选择任务将被传送的目的服务器。 负载均衡的上述三个部分之间是以不同的方式相互作用的。放置策略利用信息策略提供的负载信息,仅当任务被传送策略判断为适于传送之后才行动。总地来说,设计优良的负载均衡算法应当提供最短的平均任务响应时间,能适于变化的负载,是可靠的负载均衡机制。

6、放置策略是集群负载均衡算法的关键,它决定了一个集群负载均衡算法的主要效率、稳定性和健壮性。本文将分析以下三种集群负载均衡算法中放置策略的优点和缺点。(1 阀值策略。随机选择集群中一台服务器,判断若把任务传送到此服务器后任务队列长度是否会超过阀值。如果不超过,就传送此任务;否则,随机选择另一台服务器,并以同样方式进行判断。循环处理,直到找到一台合适的目的服务器,或探测次数超过一个静态值限制,当任务真正到达服务器后,不管状态如何,必须处理该任务。该策略的优点是能确保一个进入集群的任务请求能够被应答。缺点是随机选择集群中的服务器进行阀值判断降低了服务响应的时间。(2 最短任务队列策略。随机选择集群中

7、若干台不同的服务器,察看每台服务器的任务队列长度,任务被传送到具有最短任务队列长度的服务器。当任务真正到达服务器,无论状态如何,目的服务器必须处理该任务。该策略的优点是能确保一个进入集群的任务请求保证能够被应答。缺点同样是随机选择集群中的若干台服务器进行阀值判断降低了服务响应的时间。相对阀值策略而言,该策略的响应时间和响应效率已有提高。(3 保留策略。当一个任务从一台服务器离开时,该服务器检查本地负载,如果负载小于阀值T1,就探测其它服务器,并在R 个负载大于T1的服务器中登记该服务器的名字,并把登记的内容保留到一个栈中。当一个任务到达一台超载的服务器时,就把这个任务传送到此服务器栈顶上。如果

8、一个服务器的负载低于T1,就清空栈里保留的所有服务器名。该策略的优点是集群中的服务器采用主动方式动态调整负载的分配,能够取得较好的响应效率。缺点是一旦机群中某台服务器由于故障无法和其他服务器进行通讯,就会造成处于这台失效服务器上的业务被死锁,无法得到响应。3. 提出改进的负载均衡算法在特定的应用场合有不同的集群负载均衡需求,现有的算法大多为集群内部业务处理机充当负载判定者的角色。这种处理方式具有以下两个方面的缺点:(1 降低了业务处理机的专一性,业务服务器在承担业务处理的同时还需要由自身来兼顾负载的判断,这种方式在处理比较耗时的I/O任务时容易造成业务请求在集群中的停滞等待。(2 降低了集群的

9、I/O吞吐能力,业务请求在集群内部的跳转和判断占用了太多的内部网络资源和处理时间。本文针对现有集群负载均衡算法的局限性,提出一种改进的集群负载均衡算法,它是基于调度思想的。该思想就是让一个特定的处理节点独立出来担任业务分配器的角色,我们称之为调度服务器,而把其它完成业务处理的节点称业务服务器。调度服务器为了掌握负载情况,需要维护一张负载分布表。在系统运行时,业务服务器按照一定的周期向调度服务器提交业务完成情况,由调度服务器根据这些信息判断各个业务服务器的处理能力,进行任务分配,将业务请求分配给负载较轻的业务服务器,同时还要随之更新在调度服务器上的负载分布表。任务调度的优点是显而易见的,调度服务

10、器掌握所有业务服务器的处理能力和负载的分布情况,因此它可以在综合各种因素的基础上找到最佳的任务分派方式。特别需要提出的是,调度服务器在判断是否进行任务分派时,业务服务器必须等待,这无疑又降低了业务服务器的处理能力。本文中的系统采用的方法是调度服务器在收到业务服务器的当前任务完成情况时,立即将其存储,并把根据上次的信息做出的判断返回给业务服务器以减少延迟,在空闲时再根据本次收到的信息做出判断,留到下次使用。这样就把调度服务器进行任务分派决策的时间和业务服务器完成业务处理的时间重叠了起来,降低了动态负载均衡的开销。4. 负载均衡系统的设计4.1 负载均衡服务器集群的系统架构负载均衡服务器集群系统框

11、架如图1所示,系统由客户端、路由控制设备、调度服务器、业务服务器等4部分组成。整个系统从体系的安全性和性能都做了周密的设计,任何客户端发出的请求都必须经过防火墙的检测,也必须符合路由中设置的访问控制规则的限制,以保证任何到达调度服务器的请求都具有安全合法的来源。 图1负载均衡服务器集群系统框架图Fig1 System framework of load balancing server cluster如图2所示,显示了一次完整的从客户提出服务请求到完成服务的过程。客户端首先提出服务请求,通过Internet 发送至调度服务器所用的IP 地址和服务端口,之前必须要通过防火墙和路由规则的验证。调度

12、服务器通过运行在本机上的调度算法从业务处理机集群中选择出当前负载最轻的业务服务器,将客户服务请求转发到这台业务服务器上,完成业务处理。依据服务使用网络协议的不同,在完成负载均衡运算后处理方式存在一些差异,如果业务是基于TCP 流连接模式,则将负载最轻的业务处理机代号返回给客户端,使客户端进行二次连接,继续与对应代号的业务服务器完成业务;如果服务是基于无连接的UDP 协议,则可直接通过调度服务器将服务请求转发至负载最轻的业务处理机,完成业务处理3。 Fig2 Process of service request in Load Balancing System图2 负载均衡系统中服务请求过程图4.2 系统调度策略的实现系统采取了一种效率和安全性更高的做法,通过两台具有同步功能的调度服务器记录集群内业务服务器的负载分布情况。采用两台调度服务器的做法一方面可以分担调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论