(计算机科学与技术专业论文)基于j2ee架构的动态负载均衡方案设计与实现.pdf_第1页
(计算机科学与技术专业论文)基于j2ee架构的动态负载均衡方案设计与实现.pdf_第2页
(计算机科学与技术专业论文)基于j2ee架构的动态负载均衡方案设计与实现.pdf_第3页
(计算机科学与技术专业论文)基于j2ee架构的动态负载均衡方案设计与实现.pdf_第4页
(计算机科学与技术专业论文)基于j2ee架构的动态负载均衡方案设计与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机科学与技术专业论文)基于j2ee架构的动态负载均衡方案设计与实现.pdf.pdf 免费下载

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

文档简介

独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 虢辨嗍迎 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:导师签名: 摘要 摘要 随着网络技术的快速发展,服务器端大规模高密度并发访问带来的性能问题 日趋严峻,服务器集群技术是解决这一问题的常用方法,服务器通过对用户请求 的分配来改善系统的性能,达到负载均衡的目的。而动态负载均衡技术近年来成 为研究的热点,因为它根据集群的负载状况动态地实施负载分配,相对来说能更 大程度地提高系统的性能。 近年来,j 2 e e ( j a v a2p 1 a t f o 姗,e n t e 甲r i s ee d i t i o n ) 架构逐渐成为网络应用系 统的首选架构,因为j 2 e e 架构提供了一个独立的、可移植的、多用户的、安全 的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。本文在 j 2 e e 架构下设计实现了针对应用密集型系统的动态负载均衡方案。设计了基于 负载系数的动态负载均衡算法,把应用结点的资源使用情况和结点本身的性能特 征两方面相结合,对于硬件异构的集群可以更加准确的反映应用结点的处理能力 和负载情况,使得系统能够更好的实现动态负载均衡。 为了使该系统具有良好的可扩展性和易管理性,本方案采用相互独立的w 曲 服务器集群和e j b 应用服务器集群,使得用户可以根据系统特点灵活的配置每 个集群的结点数量。同时,应用服务器集群使用j g r o u p s 组件进行负载信息组播 和组成员的维护与管理,实现了应用服务器结点的无缝热插拔。系统的控制方式 采用集中式控制和分布式控制相结合的方式,w 曲集群服务器采用常见的集中式 控制,用一台a p a c h e 服务器作为集中控制结点进行h t t p 请求的分发;e j b 应用 服务器集群采用分布式控制方式,各个结点自行收集负载信息,并进行均衡决策。 系统测试结果表明,与其它负载均衡算法相比,本文基于负载系数的动态负 载均衡算法在大数据量并发的应用密集型系统中均衡效果明显,整体上提高了集 群的性能。 关键词j 2 e e ;集群;负载均衡 a b s t r a c t w i mm er a p i dd e v e l o p m e n to fp 酏w o r kt e c h n o l o g y ,m es e r v e r - s i d el a r g e 。s c a l e a n dh i 曲一d e n s i t yc o n c u r r e n ta c c e s sb r i n g sm o r ea n dm o r ep e 面m a n c ep r o b l e i l l s ,t 1 1 e c l u s t e rs e r v e rt e c h n 0 1 0 9 ) ,i sac o m m o nw a y t os o l v et h i sp r o b l e m ,m es e r v e rd i s t r i b u t s u s e r ,sr e q u e s t st 0i m p r o v es y s t e mp e r f b 册a n c e ,a i l da c l l i e v el o a db a l a n c i n gp u 印o s e s t h ed y n 锄i cl o a db a l a n c i n gi sah o tt o p i ci i lr e c e n ty e a r s ,a l si td y i l a m i c a l l ya c c o r d i n g t ol o a ds t a t u sf o rt 1 1 ec l u s t e rt oi m p l e m e n t l el o a dd i s t r i b u t i o n c a i lb er e l a t i v e l y 铲e a t e ri n c r e a s es y s t 锄p e r f o m l a n c e i nr e c 朗ty e a r s ,j 2 e ew 曲a p p l i c a t i o n 觑吼e w o r kh 2 l sb e c o m et l l ep r e f e r r e d s v s t e i i la r c h i t e c t u r e ,j 2 e e a r c h i t e c t u r e p r 0 d e s f o ra i l i n d 印e 1 1 d e n t ,p o r t a b l e , m u l t i u s s e c u r e 锄ds t a n d a r d s - b a s e de n t e 叩d s e d a s sp l a t f o m ,w k c hs i m p l i l e i e s e n t e r p r i s ea p p l i c a t i o nd e v e l o p m e 媳m a i l a g e m e n t a n dd 印i o 严e n t i i lm l sp a p d e s i g l la n di m p l 锄e n tm ej 2 e ea r c m t e 曲l l r e f o ra p p l i c a t i o n i n t e n s i v es y s t 锄o f d v n 锄i c1 0 a db a l a n c i n g p r o p o s e db a s e do nm e l o a df a c t o ro fd y n a m i c1 0 a db a l a n c i n g a 1 的r i t h i n t l l ea p p l i c a t i o nn o d ea n d n o d eu t i l i z a t i o n o fr e s o u r c e sb o mm e i r p e r f o m l a n c ec h a r a c t 商s t i c sc o m b i n e dw i t l lm eh e t e r o g e n e o l l sh 矾w a r ec l u s t e rc a n m o r ea c c u r a t e l yr e n e c tm ea p p l i c a t i o no f 也en o d e sp r o c e s s i n gc 印a c i t ya n dl o a d s i t u a t i o ni n 帕c hs y s t 锄c a na c h i e v eb e t t e rd y n a m i cl o a db a l a n c i n g t om a l ( et 1 1 es y s t e r nh a sg o o ds c a l a b i l i t ) ,a n dm a l l a g e a b i l i 劬m ep m 伊a ml l s e s i n d e p e n d e n tw 曲s e e rc l u s t e ra n de j b 印p l i c a t i o ns e e rc l u s t s ou s e r sc a n c o n f i g u r et 1 1 es y s t 锄f e a t u r e san e x i b l en 咖曲e ro fn o d e sp e rc l u s t 瓯m e a n 枷1 e ,m e a p p l i c a t i o ns e r v e rd u s t e rl o a dc o m p o n e r 她u s et h ej g r o u p sm u l t i c a s ta n d 昏d u p m 锄b e r s h i pi n f o 肌a t i o nm a i n t e n 锄c e a i l dm a n a g 锄e n t ,t oa c h i e v eas e 锄l e s s h o t s w 印p a b l e 印p l i c a t i o ns e e rn o d e c o n 仃o ls y s t 锄u s i n gc e n t r a l i z e dc o n 仃0 la 1 1 d d i s t r i b u t e dc o n 仃o lc o n l b i n a t i o n ,w 曲c l u s t e rs e e rw i t h ac o m m o nc e n t r a l l z e d c o n 缸d 1 ,w i t has i n 9 1 ea p a c h es e e r 雒ac e n t r a l i z e dc o n 们ln o d eh 卸r e q u e s t d i s t r i b u t i o n ;e j ba p p l i c a t i o ns e r v e rc l u s t e rw i md i s t r i b u t e dc o n t r o lw a y ,e a c hn o d e c a l lc o l l e c tt h el o a di n f o m “o n ,a n dm a k eab a l a n c e dd e c i s i o n - m a k i n g t e s t s u l t ss h o wm a tc o m p a r e dw i mo m e rl o a db a l a n c i n ga i g o r i t i 胍s ,m i sl o a d f a c t o rb a s e dd y n 锄i cl o a db a l a n c i n ga l g o r i t l l i i l i i l m e 印p l i c a t i o n o fl a r g e d a t a i n t e n s i v es y s t e mo fc o n c u e n te q u i l i b r i u me 毹c ti so b 访o u s ,嬲aw h o l et o i m p r o v et h ep e r f o 册趾c eo f t h ec l u s t 瓯 k e y w o r d sj 2 e e ;c l u s t e r ;l o a db a l a n c i n g i v 目录 第1 章绪论1 1 1 课题的研究意义l 1 2 负载均衡技术的应用现状2 1 3 本研究课题的主要内容3 1 4 论文组织。:三3 第2 章负载均衡技术研究5 2 1 负载均衡概述。5 彝 2 2 负载均衡技术分类二5 2 2 1 软件与硬件负载均衡6 2 2 2 本地与全局负载均衡6 2 2 3 不同层次上的负载均衡7 2 3 常见负载均衡算法8 2 3 1 常见静态负载均衡算法8 2 3 2 常见动态负载均衡算法9 2 4 负载均衡方案设计要点l o 2 5 本章小结o 1 2 第3 章j 2 匪集群技术分析13 3 1j 2 e e 集群1 3 3 2w e b 层集群技术1 5 3 2 1w e b 层负载均衡方法1 5 3 2 2h t t p 会话的失败转移1 6 3 3e j b 集群技术18 3 3 1 集群中的e j b 调用方法18 3 3 2e j b 的失败转移1 9 3 4 本章小结2 0 录 目 t c 要 怕ts摘怂 北京丁q k 火学工学硕l 学位论文 第4 章动态负载均衡系统的设计与实现2 1 4 1 系统架构概要设计2 1 4 2w e b 层动态负载均衡设计与实现2 4 4 2 1w e b 服务器负载均衡器2 4 4 2 2w e b 服务器负载均衡实现2 6 4 3e j b 层动态负载均衡设计与实现2 8 4 3 1 开源j b o s s 应用服务器中的负载均衡机制2 8 4 3 2 应用服务器负载状态采集3 1 4 3 3 负载信息的组播:二3 3 4 3 4 动态负载均衡算法设计实现3 6 4 3 5 拦截器4 2 4 5 本章小结4 6 第5 章动态负载均衡方案的性能测试4 7 5 1 测试工具及测试环境4 7 5 1 1 测试工具4 7 5 1 2 测试环境4 7 5 2 系统可扩展性测试4 8 5 3 不同负载均衡方法的测试比较4 9 5 4 本章小结5 0 结论51 参考文献5 3 攻读硕士学位期间所取得的研究成果5 7 致谢。5 9 第1 章绪论 1 1 课题的研究意义 第1 章绪论 随着互联网络接入成本的降低,1 1 1 t 锄e t 日益普及以及电子商务、电子政务 的快速发展,互联网正在日益成为人们获取信息的高效平台,越来越多的应用 系统需要面对更高的访问量和数据量。同时,企业对在线系统的依赖也越来越 高,大量的关键应用需要系统有足够的稳定性及高效率。在此情况下,如果扔 掉现有设备去做大量的硬件升级,这样将造成现有设备资源的浪费,而且如果 再面临下一次业务量的提升,这又将导致再一次硬件升级的高额成本投入,甚 至性能再卓越的设备也不能满足当前业务量的需求。于是,负载均衡机制应运 而生。 负载均衡有两方面的含义【l 】:首先,大量的并发访问或数据流量分担到多 台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算 分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总, 返回给用户,系统处理能力得到大幅度提高。负载均衡技术在现有网络结构之 上提供了一种廉价、有效、透明的方法,来扩展网络设备和服务器的带宽、增 加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性【2 训。 无论是公司的企业网还是h l t e n l e t ,随着业务量的提高、访问量和数据流量 的增长,服务器的压力就会越来越大,运维人员都知道用负载均衡技术能够极 大缓解压力,但是在具体的运用过程中往往会遇到困难:面对不同的业务环境, 要采取的负载均衡策略是不一样的,即便是在相似的业务环境中,不同的访问 流量压力要采用的策略也不一样;以及如何在现有的系统上实现性能较优的负 载均衡策略而对现有的系统无论从功能上还是结构上改动最小。 现有的负载均衡系统多采用静态负载均衡算法,虽然算法的系统开销较小, 实现简单,但由于集群系统中各个节点的软硬件差异,以及用户请求的事务规 模的不同,导致各个服务器节点的负载状况时刻变化,所以静态负载均衡算法 无法根据系统的负载变化实现令用户满意的负载均衡,系统的处理能力经常不 能充分利用。由此,动态负载均衡系统的研究不断升温,成为当前集群技术的 研究热点。 目前,不同领域的应用系统复杂多样:网络访问密集型、应用密集型、数 据库访问密集型等,许多的负载均衡策略多是针对网络访问密集型系统设计的, 在应用密集型系统中负载均衡效果不明显,本课题针对应用密集型系统进行动 态负载均衡方案研究与设计具有一定的实际意义,随着分布式应用系统的不断 北京1 二业大学t 学硕i :学位论文 发展,从理论上和实践中对负载均衡技术进行研究也有非常重要的价值。 1 2 负载均衡技术的应用现状 目前实际应用中负载均衡的实现主要有两种方式,一种使用硬件负载均衡 器,一种使用软件实现负载均衡。 1 ) 基于硬件的负载均衡方案,通常使用智能交换机实现,处理能力强,并 且与系统无关,但对于具体应用也有很多不足之处: 一 硬件负载均衡器价格昂贵,f 5 的价格目前几十万甚至百万。 一对于单点负载均衡设备一旦出现故障其后面的整个服务器集群将无法 工作。 一 硬件负载均衡,一般只是判断网络层的负载状况,很难判断服务器的实 际应用的状态,所以,对于特定的应用系统,如果服务器的处理能力已经接近 饱和( 如内存已所剩无几) ,但网络负载并不大,此时硬件负载均衡器将失效。 所以硬件负载均衡方式更适用于大量设备、大访问量、简单应用。 2 ) 软件方式的负载均衡策略,实现较为灵活,而且目前有较多的负载均衡 实现算法,软件方式负载均衡应用较硬件方式广泛。它是基于系统与应用的负 载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用的负 载均衡效果明显。而且性价比较好,软件负载均衡方案的价格相对较低。 目前市场上常见的负载均衡软件比如l v s ( “n u xv i 咖a ls e e r ) 例、 p c l ( p m e c l u s t e r ) 【6 】负载均衡软件。 1 ) p c l 是一款专业的商用负载均衡软件,其功能强大有很多优点: 一基于碑隧道【7 】独立于应用。 _ 支持不同平台,应用可以是基于l i n u ) 【,w i n d o w s 或s 0 1 撕s 的。 一 实时系统。 一 能够根据系统、应用的情况来决定负载,这一点与硬件负载均衡设备有 很大差别。 但p c l 适用于大型重要企业应用,对于中小企业级应用价格偏高。 2 ) l v s 是一款开源的免费负载均衡软件,可以实现l i n u x 平台下的负载均衡。 l v s 是一种“i 瑚x 操作系统上基于p 层的负载均衡调度技术,它在操作系统核 心层上,将来自i p 层的t c p 舢d p 请求均衡地转移到不同的服务器,从而将一 组服务器构成一个高性能、高可用的虚拟服务器。该开源软件也有其缺点: _ 功能比较简单,对复杂应用的负载均衡能力较差。 一开启隧道方式需重新编译“n u x 内核 - 只支持l i n u x 操作系统,不支持w i n d o w s 、s o l 撕s 等 第1 币绪论 - 配置复杂 目前,负载均衡技术多种多样,不同的应用类型所适用的负载均衡技术也 不同,例如:如果是大型的门户网站应用,可以考虑采用d n s 方式;如果是简 单的应用,可以考虑u r l 重定向方式;如果是不太重要的纯l i n u x 应用,可以 考虑使用l v s 实现;如果是重要、流量大、应用简单、预算充足的情况,可以 考虑硬件方式( 比如用f 5 ) ;如果是重要的企业应用,十几台或几十台服务器, 应用比较复杂,包括有可能跨平台,则应该考虑专业的负载均衡软件( 如p c l ) 。 1 3 本研究课题的主要内容 目前很多的网络应用系统面临访问量不断增大,已经很难单纯的依靠硬件 升级解决。本文通过分析、研究当前负载均衡技术,设计针对j 2 e e 网络应用系 统的动态负载均衡解决方案。 首先,本文根据不同的分类方法概要分析当前主要的负载均衡技术,并对 常见的静态和动态负载均衡算法进行研究和比较,并分析负载均衡系统的实施 要素。接着,根据j 2 e e 系统结构介绍e j b 应用服务器集群的技术特点。然后, 设计并实现基于j 2 e e 架构的双层负载均衡方案。方案中,w 曲服务器集群采 用现有负载均衡插件a p a c h e 的m o dj k 来实现。本文的重点在于e j b 应用服务 器集群的动态负载均衡的设计实现,本文参考当前流行的负载均衡算法的实现 原理并根据当前在研项目:中央广播电视大学远程开放教育的教务管理系统的 应用特点,本文设计了前n 子集动态负载系数均衡算法,在j g r o u p s 消息中间 件的组播功能的基础上实现e j b 应用服务器集群的负载信息组播以及节点的无 缝热插拔。 最后,对该动态负载均衡系统进行负载均衡性能测试,并与几种不同的负 载算法进行测试比较并分析测试结果。 1 4 论文组织 全文由五章组成。 第一章绪论,说明课题研究意义与负载均衡技术的应用现状,本论文的主 要内容和所做工作以及论文的组织结构。 第二章负载均衡技术的研究,主要研究负载均衡技术的目的、分类、常见 的负载均衡算法研究,以及负载均衡方案的实施要素分析。 第三章j 2 e e 集群技术分析,主要研究j 2 e e 集群的特点,分析w 曲层集群 负载均衡的实现方式,会话复制基础上的w e b 层的失败转移方法和策略。研 究e j b 层集群远程e j b 对象的方法调用过程以及e j b 的失败转移策略。 第四章动态负载均衡系统的设计实现,针对应用密集型系统特点,给出动 态负载均衡系统的解决方法,并详细说明实际应用中方案的实现,包括系统类 图、算法设计、文件配置等多个方面的内容。 第五章系统测试,利用测试工具o p e n s t a 对本文设计实现的动态负载均 衡系统进行性能测试,分析测试结果并得出测试结论。 第2 章负载均衡技术研究 第2 章负载均衡技术研究 2 1 负载均衡概述 广义的负载均衡概念包括了负载共享与负载均衡。负载共享的目标是使分 布式系统的运行速度最大化,因此,负载共享要避免或处理一些非理想状态的 情况:系统中一些计算机处于空闲状态而有些节点则负载过重。这种非理想状 态可以通过向空闲节点迁移任务来处理。 与负载共享相比,负载均衡要求更高。负载均衡不仅要求系统的运行速度 最大化,而且要求系统中各节点的负载大致相等,负载均衡策略可以潜在地减 少任务的响应时间。但是要达到每个节点的负载大致相等,需要复杂的算法, 以及大量频繁的任务迁移,算法实现的难度以及任务迁移带来的负载降低了负 载均衡实现的意义。所以现在的负载均衡系统中实现的主要是负载共享,但由 于习惯的原因,仍称之为负载均衡算法。如图2 1 所示,常见的负载均衡系统 中在客户端通过网络访问服务器集群时通过负载均衡器来分发、调度任务。 图2 1 负载均衡集群系统结构 f i g u r e2 一ll 0 a db a l 锄c i n gc l i l s t e rs t m c t u r c 2 2 负载均衡技术分类 服务器 服务器 服务器 服务器 目前,负载均衡技术多种多样,用以满足不同的应用场景需求,下面从负 载均衡所采用的设备对象、应用的地理结构及应用的网络层次等不同的角度来 北京- 下业大学t 学顾一i :学佗论文 分析研究0 1 。 2 2 1 软件与硬件负载均衡 软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一 个或多个附加软件来实现负载均衡,它的优点是基于特定环境,配置简单,使 用灵活,成本低廉,可以满足一般的负载均衡需求。 软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗 系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别 大的时候,均衡软件本身会成为服务器工作效率的一个关键因素;软件负载均 衡系统通常可扩展性和适应性并不是很好,受到操作系统的限制。 硬件负载均衡解决方案是把负载均衡设备安装在服务器和外部网络之间, 我们把这种设备通常称之为负载均衡器,硬件负载均衡器独立于操作系统和服 务器软件,所以整体性能得到大量提高,并且负载均衡策略多样化,流量管理 智能化,使得系统可达到最佳的负载均衡需求。 负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有 些负载均衡器集成在交换设备中,置于服务器与i n t e m e t 链接之间,有些则以两 块网络适配器将这一功能集成到p c 中,一块连接到i n t e m e t 上,一块连接到后 端服务器群的内部网络上。 一般而言,硬件负载均衡在功能、性能上优于软件方式,但其成本昂贵。 2 2 2 本地与全局负载均衡 负载均衡从其应用的地理结构上分为本地负载均衡和全局负载均衡,本地 负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在 不同的地理位置、有不同网络结构的服务器群间作负载均衡。 本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不 需花费昂贵开支购置性能卓越的服务器,充分利用现有设备,避免服务器单点 故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配给 服务器群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单 地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服 务。 全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球 用户只以一个m 地址或域名就能访问到离自己最近的服务器,从而获得最快的 访问速度,也可用于子公司分散站点分布广的大公司通过m t 啪e t ( 企业内部互 联网) 来达到资源统一合理分配的目的。 第2 币负残均衡技术研了e 全局负载均衡有以下的特点: 实现地理位置无关性,能够远距离为用户提供完全的透明服务。 除了能避免服务器、数据中心等的单点失效,也能避免由于i s p 专线故障 引起的单点失效。 解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好的访 问质量。 2 2 3 不同层次上的负载均衡 针对网络上负载过重的不同瓶颈所在,从网络的不同层次入手,可以采用 相应的负载均衡技术来解决现有问题。 随着带宽增加,数据流量不断增大,网络核心部分的数据接口将面临瓶颈 问题,原有的单一线路将很难满足需求,而且线路的升级又过于昂贵甚至难以 实现,这时就可以考虑采用链路聚合( t n l n k i n g ) 技术。 链路聚合技术将多条物理链路当作一条单一的聚合逻辑链路使用,网络数 据流量由聚合逻辑链路中所有物理链路共同承担,由此在逻辑上增大了链路的 容量,使其能满足带宽增加的需求。 现代负载均衡技术通常操作于网络的第四层或第七层。第四层负载均衡将 一个i n t e n l e t 上合法注册的i p 地址映射为多个内部服务器的i p 地址,对每次 t c p 连接请求动态使用其中一个内部i p 地址,达到负载均衡的目的。在第四层 交换机中,此种均衡技术得到广泛的应用,一个目标地址是服务器群v i p ( 虚 拟m ,v i 咖a 1i pa d d r e s s ) 连接请求的数据包流经交换机,交换机根据源端和目 的i p 地址、t c p 或u d p 端口号和一定的负载均衡策略,在服务器i p 和v i p 间 进行映射,选取服务器集群中负载轻的服务器来处理连接请求。 第七层负载均衡控制应用层服务的内容,提供了一种对访问流量的高层控 制方式,适合对h t t p 服务器群的应用。第七层负载均衡技术通过检查流经的 h 1 v r p 报头,根据报头内的信息来执行负载均衡任务。 第七层负载均衡优点表现在如下几个方面: 通过对h t t p 报头的检查,可以检测出常见的错误信息,因而能透明地将 连接请求重新定向到另一台服务器,避免应用层故障。 可根据流经的数据类型( 如判断数据包是图像文件、压缩文件或多媒体文 件格式等) ,把数据流量引向相应内容的服务器来处理,增加系统性能。 能根据连接请求的类型,如是普通文本、图象等静态文档请求,还是a s p 、 c 西等的动态文档请求,把相应的请求引向相应的服务器来处理,提高系统的性 能及安全性。 北京丁业人学t 掌硕十学伉论文 第七层负载均衡受到其所支持的协议限制( 一般只有h 1 v r p ) ,这样就限制 了它应用的广泛性,并且检查h t t p 报头会占用大量的系统资源,势必会影响 到系统的性能,在大量连接请求的情况下,负载均衡设备自身容易成为网络整 体性能的瓶颈。 2 3 常见负载均衡算法 负载均衡策略的优劣及其实现的难易程度有两个关键因素:一、负载均衡 算法,二、对网络系统状况的检测方式和能力。考虑到服务请求的不同类型、 服务器的不同处理能力以及随机选择造成的负载分配不均匀等问题,为了更加 合理的把负载分配给内部的多个服务器,就需要应用相应的能够正确反映各个 服务器处理能力及网络状态的负载均衡算法。 2 3 1 常见静态负载均衡算法 1 轮循均衡( r o u n dr o b i n ) n 卜15 1 :每一次来自网络的请求轮流分配给内部 中的服务器,从1 至n 然后重新开始。此种均衡算法适合于服务器组中的所有 服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。图2 2 中a 、 b 、c 三台服务器循环处理依次到来的请求。 时间t 时间t 服务器 ab cab 图2 2 轮循均衡示意图 f i g u r e2 2s k e t c ho fr o u n dr o b i nl o a db a l a n c i n g 2 权重轮循均衡( w d 曲t e dr o u n dr o b i n ) :根据服务器的不同处理能力, 给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。例如: 有三台服务器,服务器a 的权值被设计成2 ,b 的权值是3 ,c 的权值是5 ,则 服务器a 、b 、c 将分别接受到2 0 、3 0 、5 0 的服务请求。此种均衡算法 能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。 第2 章负载均衡技术珂究 3 随机均衡( r a n d o m ) :把来自网络的请求随机分配给内部中的多个服务 器进行处理。算法简单,均衡效果不明显,容易出现负载集中现象。实际应用 中使用较少。 4 权重随机均衡( w 萌曲t e dr a i l d o m ) :此种均衡算法类似于权重轮循算法, 不过在处理请求分担时是个随机选择的过程。 2 3 2 常见动态负载均衡算法 1 ) 加权最少连接数( 1 e a s tc o r u l e c t i o n ) 算n 纠刚法对内部中需负载的每一台服 务器都有一个数据记录,记录当前该服务器正在处理的连接数量,当有新的服 务连接请求时,将把当前请求分配给连接数最少的服务器。设集群中节点服务 器集合为s = s l ,s 2 ,s 。) ,w ( s i ) 表示服务器s i 的权值,c ( s i ) 表示服务器s i 的当前 连接度,所有服务器当前的连接总数c s u m _ c ( s ) ( i _ 1 ,2 ,n ) ,则按公式( 2 一1 ) 进 行选择服务器k 。其中:i _ 1 ,2 ,n ;w ( s k ) o 。 c ( ) e 。 ( 最) = m i n c ( s ) e 。形( 墨) 】 ( 2 1 ) 此种均衡算法适合长时处理的请求服务,如f t p 。算法以连接数来衡量服 务器负载,没有考虑不同请求服务带来的负载开销差异,权重通常为静态配置,不 能很好地反映服务器运行期的处理能力和舳组件的运行情况,在长时间运行 下,导致负载的不均衡。 2 ) 响应速度均衡( r e s p o n s et i m e ) :负载均衡设备对内部各服务器发出一 个探测请求( 例如p i n g ) ,然后根据内部中各服务器对探测请求的最快响应时间 来决定哪一台服务器来响应客户端的服务请求。此种均衡算法能较好的反映服 务器的当前运行状态,但这最快响应时间仅仅指的是负载均衡设备与服务器间 的最快响应时间,而不是客户端与服务器间的最快响应时间。 3 ) 基于负载迁移实现负载均衡:该算法通常将服务器划分为轻载、重载和 正常三种状态。采用启发策略寻找合适的节点进行任务迁移,这类算法主要是通 过负载迁移来实现均衡,计算量大,且移动负载的收益有可能不能抵消通信、决策 等产生的额外开销,难免会产生进行迁移后的响应时间不能抵消负载迁移带来 的额外开销问题,反而得不偿失。 4 ) 处理能力均衡:此种均衡算法将把服务请求分配给内部中处理负荷( 根 据服务器c p u 型号、c p u 数量、内存大小及当前连接数等换算而成) 最轻的 服务器,由于考虑到了内部服务器的处理能力及当前网络运行状况,所以此种 均衡算法相对来说更加精确。其中常见的有p i c k k 算法,该算法根据时间周期 t 更新集群服务器负载列表信息。当请求到达时,从n 台服务器中选择任意的k 台服务器,根据负载列表比较它们的负载状况,将请求发送给负载最小的服务器。 北京t q k 大学:1 学硕f j 学位论文 算法不能保证选择的k 台服务器是负载较轻者,有可能选择的k 台服务器( 部分 或全部) 正好是处于重负载情况。 5 ) d n s 响应均衡( f 1 a s hd n s ) :在i n t 咖e t 上,无论是h t t p 、f t p 或是 其它的服务请求,客户端一般都是通过域名解析来找到服务器确切的i p 地址 的。在此均衡算法下,分处在不同地理位置的负载均衡设备收到同一个客户端 的域名解析请求,并在同一时间内把此域名解析成各自相对应服务器的口地址 ( 即与此负载均衡设备在同一位地理位置的服务器的d 地址) 并返回给客户 端,则客户端将以最先收到的域名解析i p 地址来继续请求服务,而忽略其它的 i p 地址响应。在种均衡策略适合应用在全局负载均衡的情况下,对本地负载均 衡是没有意义的。 尽管有多种的负载均衡算法可以较好的把数据流量分配给服务器去负载, 但如果负载均衡策略没有对网络系统状况的检测方式和能力,一旦在某台服务 器或某段负载均衡设备与服务器网络间出现故障的情况下,负载均衡设备依然 把一部分数据流量引向那台服务器,这势必造成大量的服务请求被丢失,达不 到不间断可用性的要求。所以良好的负载均衡策略应有对网络故障、服务器系 统故障、应用服务故障的检测方式和能力。 另外存在一些设计得非常复杂的均衡算法,但并不能得到很好的效果,因为 通常越复杂的算法不仅带来的计算开销大,而且需要进行大量的通信,使得性能 提高大打折扣。 针对上述动态负载均衡算法的不足,本文第四章提出了一种基于前n 子集的 相对负载系数动态负载均衡算法。该算法在保证系统在长时间运行状态下,各服 务器的组件负载不发生较大的倾斜,以及能充分利用各个服务器处理能力的前 提下,尽量减少负载计算以及通信带来的额外开销。 2 4 负载均衡方案设计要点 负载均衡方案应是在网站建设初期就应考虑的问题,不过有时随着访问流 量的爆炸性增长,超出决策者的意料,这也就成为不得不面对的问题。当我们 在引入某种负载均衡方案乃至具体实施时,像其他的许多方案一样,首先是确 定当前及将来的应用需求,然后在代价与收效之间做出权衡。 针对当前及将来的应用需求,分析网络瓶颈的不同所在,我们就需要确立 是采用哪一类的负载均衡技术,采用什么样的均衡策略,以及在可用性、兼容 性、安全性等方面要满足的需求等等。 不管负载均衡方案是采用花费较少的软件方式,还是购买代价高昂在性能 功能上更强的第四层交换机、负载均衡器等硬件方式来实现,亦或其他种类不 第2 荦负载均衡技术研究 同的均衡技术,下面这几项都是我们在引入均衡方案时需要考虑的问题: 一、系统性能【2 0 j :性能是我们在引入均衡方案时需要重点考虑的问题,但 也是一个最难把握的问题。衡量性能时可将每秒钟通过网络的数据包数目做为 一个参数,另一个参数是均衡方案中服务器集群所能处理的最大并发连接数目, 但是,假设一个均衡系统能处理百万计的并发连接数,可是却只能以每秒2 个 包的速率转发,这显然是没有任何作用的。性能的优劣与负载均衡设备的处理 能力、采用的均衡策略息息相关,并且有三点需要注意: 1 ) 负载均衡设备自身的性能,避免有大量连接请求时自身性能不足而成为 服务瓶颈。目前实际应用中很多系统采用混合型负载均衡策略来提升服务器集 群的总体性能,如d n s 负载均衡与n a t 负载均衡相结合。另外,针对有大量 静态文档请求的站点,也可以考虑采用高速缓存技术,相对来说更节省费用, 更能提高响应性能;对有大量s s l ) l 内容传输的站点,更应考虑采用s s l x m l 加速技术。 2 ) 负载均衡算法的设计选用对服务器集群整体的性能影响,采用静态负载 均衡算法的传统集群系统不能自动感知系统性能及软硬件环境的变化,无法实 现系统的动态调整去适应当前环境的变化。同时,由于其任务调度根本没有考 虑到系统后台服务器的负载状态,所以其适应性不强。而采用动态负载均衡的 算法,设计衡量系统负载情况的算法指标尤为重要,如果算法不合理会导致不 能准确衡量系统负载或者获取负载不及时,很难真正的得到负载均衡的效果。 3 ) 负载均衡系统的控制方式,按照结构可以分为集中式控制和分布式控制 两种。 在集中式控制中,有一个控制着整个系统负载均衡的集中控制节点。这种 方式在w 曲服务器的负载均衡方案中较为常用。集中控制节点收集所有服务节 点当前的负载状态信息,并根据这些信息来进行节点间的负载均衡。因此,当 节点数目增加或访问集中时,控制节点很容易成为系统的瓶颈,系统的稳定性 受到影响。 在分布式控制中,各个节点自行收集负载信息,并自行决定是否、如何与 其余节点进行负载均衡。这种方式在分布式计算中常用,它消除集中控制方式 中的瓶颈问题。然而,分布式控制下,各个节点自主收集负载信息,并进行均 衡决策,会带来一定的额外开销,如果控制策略不当,将会造成系统性能的恶 化。 二、可扩展性 2 卜2 2 】:可扩展性的好坏是衡量一个集群系统优劣的重要标准。 当前,i t 技术日新月异,一年以前最新的产品,现在或许已是网络中性能很低 的产品;业务量的急速上升,一年前的网络,现在需要新一轮的扩展。合适的 均衡解决方案应能满足这些需求,能均衡不同操作系统和硬件平台之间的负载, 北京1 = 业大学t 学硕l :学位论文 并且能以对客户端完全透明的方式动态增加或删除某些资源。节点的加入和离 开在集群系统的长期运行过程中必不可少。这就需要维护当前系统节点的拓扑 信息,有些系统通过配置文件来保存节点信息,有些通过广播报文来动态发现 节点。然而,前者的灵活性差,操作复杂,后者会带来额外网络开销。 三、灵活性:在一个集群系统中,过去很多负载均衡系统的设计没有考虑 到其中硬件和软件的异构性。而当前的绝大多数集群系统很多是异构集群系统, 即其硬件配置和所使用的操作系统可能差异很大,此时,针对于同构系统设计 的负载均衡系统很难正常工作或个别节点根本无法工作。 理想的通用负载均衡解决方案,应能灵活地适应不同的应用需求,满足应 用需求的不断变化。在不同的服务器集群有不同的应用需求时,应有多样的均 四、可靠性:在对服务质量要求较高的站点,负载均衡解决方案应能为服 务器群提供完全的容错性和高可用性。但在负载均衡设备自身出现故障时,应 该有良好的冗余解决方案,提高可靠性。使用冗余时,处于同一个冗余单元的 多个负载均衡设备必须具有有效的方式以便互相进行监控,保护系统尽可能地 2 5 本章小结 本章首先从负载均衡所采用的设备对象、应用的地理结构及应用的网络层 次等不同的角度对负载均衡技术按类别进行了介绍分析,接下来介绍了常见的 静态和动态负载均衡算法,最后,从系统性能、可扩展性、灵活性和可靠性四 个方面分析了负载均衡系统的设计要素。 篇3 带j 2 e e 集群技术分析 3 1j 2 e e 集群 第3 章j 2 匪集群技术分析 业务需求的不断提高对系统的性能要求也越来越高,最初系统设计者提高 c p u 主频和增加总线带宽来提高系统性能。但是这种方法对系统性能的提高是 有限的,接着人们通过增加c p u 个数和内存容量来提高性能,于是出现了向量 机、对称多处理机( s m p ) 等。但是当c p u 的个数超过某一阈值,像s m p 这些多 处理机系统的可扩展性就变的极差。主要瓶颈在于c p u 访问内存的带宽并不能 随着c p u 个数的增加而有效增长。与s m p 相反,集群系统的性能随着c p

温馨提示

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

评论

0/150

提交评论