(计算机科学与技术专业论文)基于中间件的负载平衡服务研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于中间件的负载平衡服务研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于中间件的负载平衡服务研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于中间件的负载平衡服务研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于中间件的负载平衡服务研究与实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机科学与技术专业论文)基于中间件的负载平衡服务研究与实现.pdf.pdf 免费下载

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

文档简介

国防科¥技术人学研究生院学位论文 摘要 随着计算机技术的飞速发展和分布式应用规模的不断扩大,越来越多的分柿式应用需 要暴翅冗余黢务技术撵毫系缝性能帮霹躅毪。分匆对缀中阉俘侔兔分匆式系统豹重要支撑 技术,为多服务器系统提供了基本计簿环境。如何在中问件层次有效解决冗余服务的负载 平筏管理问题,满足当翦分粕式应用在性能、伸缩性和可用性等方露的追切要求,是个 具有蒋遍意义和实用意义的研究课题。 本文z c o r b a 为背景,磺究分奄计算环境下应用服务器的负载平掇管理问题,在此基 础之上设计并实现了一个丽向应用辗务器的负载平衡中间件系统。本文主要工作包括; l 、分柝比较了不同层次麴负载平衡技术,包括攀予网络、基于掇 乍系绞、基于巾阉 件和罄于应j _ j 本身的负载平衡。着重讨论了熬于中间件的负载平衡的优点,并指出了当前 负载平衡服务中f j e t - 产品存在的局限性。 2 、研究了分布x 寸象环境下负载平衡的相关策略和机制,包括负载平衡的管理模式、 客户请求的迁移策略、成员的选择策略。详细讨论了不同负载平衡服务体系缡构的特点, 荠对负载的袋爨与诗簿方式、负载信患酶救繁与成交豹失效梭溅梳蠢l 进行了深入探讨。 3 、在分析了中间件负载平衡服务应满足的功能诿求基石出上,设汁了一个基于c o r b a 酶可扩震豁负载平衡缀务稹燮c e l s 。实现了对应霜透鞠的窖户请求调度、负载获取与负载 迁移,支持对多种冗余服务的动态管理,支持应用定义的负馘平衡策略和负载度量方法, 具有良好的逶应性帮可扩展性。嗣时,到用双平缀器缝掇、多配置文侮i o r 鳃决了繁中式 负载平衡服务管理存在的单点失效问题,提高了负载平衡器自身的可靠性。 、基予s t a v b u s 平台宠残了c e l s 款实强,著遵雩亍了功翻连熊测试。测试表爨c e l s f 确地实现了负载平衡管理的各项功能,平衡管理引入的行销很小,c e l s 可以有效提高 分和式系统盼性能、伸缩性和可用性。 关键孛:负载平衡,c o r b a ,冗余服务器,负载平衡皴略,截获器,对象维,复本,成员 始i 负 国防科学技术人学研究生院学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g y ,t h ed i s t r i b u t e d a p p l i c a t i o ns c a l eu p i n c r e a s i n g l y m o r e a n dm o r ed i s t r i b u t e d a p p l i c a t i o n sr e q u i r ea d o p t i n gr e d u n d a n ts e r v e r s t o i m p r o v es y s t e mp e r f o r m a n c ea n da v a i l a b i l i t y a st h ek e yt e c h n o l o g yt oi m p l e m e n td i s t r i b u t e d s y s t e m ,d i s t r i b u t e do b j e c t m i d d l e w a r e p r o v i d e s t h e p r i m a r yc o m p u t i n ge n v i r o n m e n tf o r m u l t i s e r v e r s s y s t e m i ti s ar e s e a r c hw o r ko fg e n e r a la n dp r a c t i c a ls i g n i f i c a n c et os o l v et h e p r o b l e mo fl o a db a l a n c i n gf o rr e d u n d a n ts e r v e r se f f e c t i v e l yi nm i d d l e w a r el a y e rt os a r i s f yt h e u r g e n td e m a n d s o f p e r f o r m a n c e ,s c a l a b i l i t ya n da v a i l a b i l i t yi nc u r r e n td i s t r i b u t e da p p l i c a t i o n s t h i st h e s i ss t u d i e st h ei s s u eo fl o a db a l a n c i n gf o ra p p l i c a t i o ns e r v e ri nd i s t r i b u t e dc o m p u t i n g e n v i r o n m e n tb a s e do nc o r b a t h e n ,o nt h eb a s eo fo u rs t u d y ,w ed e v e l o pa na p p l i c a t i o ns e r v e r o r i e n t e dm i d d l e - w a r es y s t e mf o rl o a d - b a l a n c i n g t h ep r i m a r yc o n t r i b u t i o n so f t h i st h e s i si n c l u d e : 1 f i r s t ,w ea n a l y z ea n dc o m p a r e t h el o a db a l a n c i n gm e c h a n i s m s p r o v i d e di nd i f f e r e n tl a y e r s i n c l u d en e t w o r k ,o p e r a t i n gs y s t e m ,m i d d l e w a r e ,o ra p p l i c a t i o ni t s e l fw e e m p h a s i z e t h e a d v a n t a g eo f l o a db a l a n c i n gb a s e do nm i d d l e w a r ea tt h es a m et i m e ,w ed e s c r i b e d e f i c i e n c i e si ns o m em i d d l e w a r ep r o d u c t so fl o a d b a l a n c i n g s e r v i c e 2 s e c o n d ,w e s t u d yp o l i c i e sa n dm e c h a n i s m o f l o a d b a l a n c i n g ,i n c l u d et h ep a t t e r no fl o a d m a n a g e m e n t ,m i g r a t i o np o l i c i e s ,m e m b e rs e l e c t i o ns t r a t e g i e s w ed i s c u s s t h ec h a r a c t e r i s t i c s o fd i f f e r e n ta r c h i t e c t u r e sf o rl o a db a l a n c i n gi nd e t a i l ;a tt h em e a n w h i l e ,w ed e l v ei n t ot h e l o a dm e t r i c s ,l o a dc a l c u l a t i n g ,l o a dc o l l e c t i n ga n df a i l u r ed e t e c t i n g 3 b a s e do nt h ea n a l y s e so ft h er e q u i r e m e n t sf o rl o a db a l a n c i n gs e r v i c e ,w ed e s i g na c o r b a - b a s e de x t e n s i b l el o a d b a l a n c i n gs e r v i c e ( c e l s ) f r a m e w o r k ,i t i m p l e m e n t sc l i e n t s r e q u e s ts c h e d u l i n g ,l o a dc o l l e c t i n ga n dl o a dm i g r a t i n g i na t r a n s p a r e n tw a y t oa p p l i c a t i o n ;i t c a np r o v i d ed y n a m i c m a n a g e m e n t f o rm u l t i p l et y p e sr e d u n d a n t s e r v e r ,s u p p o r t a p p l i c a t i o n d e f i n e dl o a dm e t r i c sa n db a l a n c i n gp o l i c i e s ,h a v i n gg o o da d a p t a b i l i t ya n d e x t e n s i b i l i t y t h r o u g ha d o p t i o no f d o u b l eb a l a n c e rs t r u c t u r ea n dm u l t i p r o f i l ei o r i t p r e s e n t sas o l u t i o nt os i n g l ep o i n to f f a i l u r ee x i s t i n gi nc e n t r a l i z e dl o a db a l a n c i n g s e r v i c e , w h i c hi m p r o v e st h ed e p e n d a b i l i t yo fb a l a n c e ri t s e l f 4 f i n a l l y ,w ei m p l e m e n tc e l s b a s e do ns t a r b u s ,t h e nt h ee x p e r i m e n t so nt h ef i m c t i o n a l i t y a n dt h ep e r f o r m a n c eh a v ea l s ob e e nc a r r i e do u t e m p i r i c a lr e s u l t sd e m o n s t r a t et h a tc e l s w o r k s c o r r e c t l y ,a n dt h eo v e r h e a d i n c u r r e di sv e r ys m a l l ,a n dc e l sc a ni m p r o v et h e p e r f o r m a n c e ,s c a l a b i l i t ya n da v a i l a b i l i t yf o r d i s t r i b u t e da p p l i c a t i o ne f f e c t i v e l y k e y w o r d s :l o a db a l a n c i n g ,c o r b a ,r e d u n d a n ts e r v e r ,l o a db a l a n c i n gs t r a t e g y i n t e r c e p t o r ,o b j e c tg r o u p ,r e p li c a 。m e m b e r 第1 i 抓 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:蔓至立! 刍! 圭受翌! 亟壬f 墅! 垒圣量叠皇室翌 学位论文作者签名:i 墨叁! 刍 日期:功j 年,。月u 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阆;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:喜王宴豳卟自受钱栩j = 肫a 力哥亩鸟安吼 学位论文作者签名: 作者指导教师签名: f 誊毛薪 臻壶 日期:如4 ;年,2 月2 2 日 日期:。矿护 年? 2 月2 己日 囤l 舞科学技术人学研究生院学位论文 图翻录 图1 l 负载平衡的层次 图l 2 溺络缀魏负载平衡。, 图1 3 操作系统缴的负载平衡 图1 4 中闻侔缀的负载平衡,。,。 图1 j 分布式在线股票交易系统。, 图l 6 海蹩信息事务处理琢统。,。, 图2 一l 负救平衡服务管理模式。 圈2 2 ( a ) 菲蠢适应每会话体系缩稳,。,。 图2 2 ( b )自适应每请求体系结构,。 圈2 2 ( e )鑫适应蔹需体系结褐。+ 图2 3 负裁峰值, 图2 一负载信息酾收集方式,。,一 图3 一l 负载平衡基本概念+ 图3 2c e l s 应丽概要模黧,。 图3 3 负载平衡服务的功能组件,。 圈3 4c e l s 中酌动态交夏, 图3 5 引入c e l ,s 和冗余服务对客户应用的影响。+ 。 图3 6 负缴的获敏与更新。 图3 7 模块化的负载平衡策略。, 图3 8t o r 结构。, 图4 1 平衡器内部对象的组织。 图4 - 2 同步操作时产生自调用。, 图4 3 防止自调用,同步操作通过s t a t e s y n c h r o n i z e r 白j 接完成, 图4 - - 4 ( a ) 使用代疆方式区分不嗣成员。 图4 4 ( b ) 使用成员i d 区分不同成员+ 。+ 图4 5 客户方请求酌处理。,。, 图4 6 缎策略的祷换过程,+ + 圈4 7 利用截获器获取请求负载, 图4 8 系统请求负载。 图4 9 利用截获器实现负载迁移, 图4 一l o 负载的获取、更糯及迁移。 篇i v 贝 ,0 0 0 0 0 0 h坨强m坛鞠肌瑟勰孔龋绻约四趾跎;写翦盯 陶防科学技术人学研究生院学位论文 圈4 一t l 匮4 一1 2 圈4 一1 3 图4 一1 4 图4 一i 5 图5 一l 图5 2 图5 3 程序起始流程,4 0 截获嚣r e c e i , v o r e c t u e s t 0 截获点处理漉糕。,。4 1 c e l $ 工作状态的转换4 2 异步的方式完成负载信息懿成批发送,。+ 4 3 同步谲霜韵方式完成策略的设旨,。4 3 策礁箕法的测试,。s 负载平衡性能凋试环境,4 7 负载平衡服务的性能。,4 8 鹅v 负 国防科学技术人学研究生院学位论文 表目录 表2 一l 负载信息收集与失效检测,。 1 6 第v i 页 国防科学技术人学研究生院学何论文 第一章绪论 1 1 课题背景 随着计算机网络的迅猛发展通过网络相连的多机计算环境越来越普遍。伴随着这些 变化,分布计算技术以不可逆转的势头伸入到金融、电信、商业等各个应用领域;反过来 各领域的实际需求又强烈地促进了分布计算技术的发展,对分布计算环境提出了更高的要 求。 1 1 1 技术背景 由于在线网络服务规模的不断扩大,单个服务器的分稚计算环境在吞吐率和可用性 方面越来越成为系统性能的瓶颈。当前,越来越多的系统采用服务器冗余技术,通过高速 网络将多个工作站连接起来形成互为备份的服务器机群,一方面通过增加数掘和计算的冗 余度,提高系统的可用性;另一方面,多个服务器著行地响应客户请求,提高系统的吞吐 率。这就带来了相应问题:一是负载平衡问题,即如何在多个具有相同处理能力的服务之 删分配请求,更好地发挥系统性能;二是系统的灵活性和可扩展性问题,即如何处理冗余 服务的动态改变,并实现对客户方的透明。 解决这些问题的有效途径就是提供负载平衡服务。负载平衡通过硬件或软件机制,将 工作负载均等地分配给后端服务器,从而改善系统整体响应时间。负载平衡越来越成为有 效提高网络服务性能的一种流行技术。 分布式系统中的负载均衡 在一个分布式系统中,负载平衡机制可以在网络、操作系统、中间件和应用本身四个 层次束提供如图1 1 所示。 图1 1 负载平衡的层次 笫1 孤 1 ) 基1 二网络的负载“t 衡:这种负载平衡服务根据站点接收请求的频率作负载决策。i p 路 山器飘l 域名服务可以为一组主机提供这种类型的负载甲衡服务,如图1 2 所示。例 如,当一个客户解析台主机时,d n s 可以基于当前的负载情况对每个请求动态地分配 一个不同的1 1 ) 地址。客户然后与分配的后端服务器联系,它并不清楚下次解析会选择 一个不同的服务器。路山器也可以基于当前负载情况将一个t c p 流与任意一台后端服 务器绑定,在该流的持续期内将一直使用此绑定。大规模的w e b 站点通常使用在网络 层( 3 层) 和传输层( 4 层) 使用基于网络的负载平衡。3 层和4 层实现的负载平衡分 别使刚i p 地址主机名和端【_ :】号水决定包转发的目的地。然而,这两层的负载平衡是 受限的,因为它不能考虑客户请求的内容。 图l 一2 网络级的负载平衡 2 ) 基于操作系统的负载均衡:分矾j 式操作系统通过群集( c l u s t e r i n g ) 、负载共享( 与负 载平衡不同,例如运行资源可以被处理器共享,但不一定能够被平衡) 、进程迁移“” 和内存导引”( m e m o r yu s h e r i n g ) 等机制提供这种类型的负载平衡。群集是获得高可 用性肃i 高性能的一利i 有效方式,它将许多f 1 常的计算机结合在一起从而提高整体系统 处理能力。使用进程迁移,超载的任务和进程可以转移到负载较轻的结点上,从而减 少执行时f 日j 。然而,在处理器或网络结点之1 日j 平衡负载需要传送进程状态,这需要有 力平台支持,以处理结点问平台的差异。同时,当一个进程迁移到一个新结点时,原 来使用的资源乜许不可获得。通过与“h o m e ”结点联系可以解决这个问题,但频繁的 远程调用也许会阻塞网络,因此并不适用于大型网络。另外,基于操作系统的负载平衡 同网络层的负载平衡有同样的缺点:不能灵活地选择负载度量( 1 0 a dm e t r i c ) ,不能 利用请求的内容。而且对于某些分布式应用,操作系统级的负载平衡粒度过粗,因为 被平衡的是服务器进程,而不是内部的服务对象本身。 图l 一3 操作系统级的负载平衡 3 ) 基于中问件的负载均衡:如图l 4 ,这种类型的负载平衡在中间件内部执行,通常基 于每个会话或每个请求。例如,利用5 层交换”1 来决定哪台服务器收到某一具体u r l 的 客户请求,已经成为一种流行的技术。这种策略可以检测“热点”一被频繁访问的u r l , 第2 负 国防科学技术入学研究,t 院学静论文 从而可以分配附加资源以处理对这些u r l 的大魁请求。基于中阳j 件的负载平衡在负载 决策、适应不同应蘑需求方面鬃有更大灵活淫8 ”。 图i 中问件缀的负载平衡 4 ) 基于应粥的负载平衡:这种层次的负载平衡完全由应埔程序本身来执行,透明度完全 丧失,需要修改应用本身来支持负载平衡,增加了代码丌发和维护的复杂度。 鏊子中间伟负载均衡静饶点 基于网络和熬于操作系统的负载均衡体系结构缺少灵活性和适应性。缺少灵活性,是 豢在骰受载魂,甏决策时不支簿应掰定义静受载凄爨方法。缺少适旋洼,愚蠢为竣少亲叁羹 本的负载反馈,对复本的负载难以有效地控制。熬于网络和操作系统的负载均衡方案都不 辘提供一秘直接有效面又可移_ 垣姻方式,壤握应髑级请求特短( 如内容、持续时闫) 柬实 现负载均衡。在需要根据运行时负载条件动态调节的应嗣中,它们是不邋合的。艇于应用 的负载平衡与应用核心紧密结合,不具有通用性,代价太高。 相反,基于中闻许的负载均缀在多方蕊优予以上层次魏负载均衡。蘩予中闯俘、尤其 烧基于标准c o r b a 的负载平衡体系结构具有以下优点: 可以与蓦予嬲络鼓摄 乍系绞豹受载乎楚枫划结合谈弱 可以应用在现有网络和操作系统之上,对各类应用提供通用的负载平衡支撑服务, 减少成本 可以根爨应焉辐关酶各种负载平衡条件执行负载均衡,妻ni o 稻c ) u 开销。 当前,c o r b a 【”已经成为分柿式应用程序丌发和系统集成的主流技术。c o r b a 针埘分布 式系统内在懿努靠性窝逶零熬吴奉毒性,耋终了一耱不镶赖予编翟语言、计舞平台、燃终魏t 议 的通信基础设施,使得客户和服务器可以使用不同的编瑕语言编写并运行在不同的硬件和 软俘平台圭= 。蕊且它通过高级的编程抽蒙,为应蝴开发者耨藏了分1 靠复杂性,减少了咒。发 代价。因此,本文将关注c o r b a 对象请求代理器支持的纂于中间件的受藏均衡。 l 。i 2 应雳饕畏 当时随蔚应用的不甓盱深入,对分粕式计算系统伸缩性和可靠性要求越来越高。为了能 够支持大量在线客户静请求荠握供不闵戮豹高屡鳌可靠黻务,各个应焉领域都遮切要求扩 大系统规模并改善服务的管理。当今的企业级关键业务领域,像宇航、电信、金融等使用 熬复杂熬分蠢式疲爱绝大多数都采蠲了蕊子中潮传豹分蠢式软传系统。副援中阕馋分匆诗 算的优辨,对多台计算机上的服务进行集群,对集群中备类冗余服务进行有效管理,将浆 篱3 班 国防科学技术人学研究生院学位论文 统的伸缩性和可靠性最大化,迫切要求一个白适应性强的负载! f 衡服务的支持。 实例l :分布式在线股票交易系统 s 图1 5 分布式在线股票交易系统 在线股票交易系统需要并发地处理大量的并且经常是突发性的客户请求。为了减小初 始投资避免资源的过量使用,该系统随着客户数量的增加,通过使用高速网络连接加入 新服务器的方式逐步升级。 如图l 一5 所示,该系统由称为复本( r e p l i c a ) 的多个s e s s i o nf a c t o r y 服务对象构 成。s e s s i o nf a c t o r y 处理来自网络的会话创建请求,创建交易会话,通过交易会话,股 票交易得以执行。s e s s i o nf a c t r o y 被复制的目的是为了减少任何给定f a c t o r y 上负载。 这种情况下的负载主要山两部分组成( 1 ) 单位时间内会话创建的平均数量( 2 ) 当前创建 会话使用的资源总量。由于s e s s i o nf a c t o r y 唯一目的是创建股票交易会话,因此不需要 保持状态。在这种类型系统中,客户请求动态到达,每个请求的持续时倒不可预知。 这些条件要求分如式在线股票交易系统能够重新分配对复本的动态请求。否则也许出 现一个或多个服务器超载而其他些却空闲的情况。也就是说,系统必须能够适应变化的 负载情况。理论上,自适应性在多个后端服务器的应用能够: 增加系统整体可靠性,例如,某- - n 务器失效时可以将请求重定向到其他复制的 服务器上 当客户数量少时可以减少初始投资。 允许系统完美地升级,在更大配置上处理更多客户请求和工作负载。 在实践上,达到这种级别的伸缩性和可靠性要求一种完善的负载平衡服务。 实例2 :军事领域的应用 第4 吹 围防科学技术人学研究生院一学位论文 臻代竣争中,越寒越多蕊电子、邋信窝诩一箨巍技术漩应用予军事戮城,缓怠菠已经成 为了一种重要的甚至是决定性的作战形式。由于现代战争地域分布的广阔性,使得客户 鼹务器体系结橡的分砖圣 算技术广泛媳应雳予攀事决繁、后勤绦障墨耩战场医疗莓矮域。例 如,存储重要军事信息及进行关键决策静服势器存放在后方总撮挥部,各类侦察设备不断 地将情报信息输入后方服务器中;各擞战场人鼹不断邀过手持设备将战场动态输入到服务 器,荠隧游查询茂臻谊恿、获默决繁;藏眩黉蒺捂挥入爨连通过鼗务嚣获取藏臻动态、骰 出指挥决策。由于战争进程加快、战机稍纵即失,要求这些服务器能够快速响应客户请求, 圜融备类魇圜造成一些鼹务器鲶失效不蔻影嚷蹩个分露式应蹋靛j f 鬻执行。弓l 天冗余鼹 务,蠛供负载平衡服努管理,可以有效满足战时高信慰吞吐爨、响应时间要求,同时兔载 乎衡服务可以屏蔽个剐服务器的失效,提高可嚣性。 实捌3 :海量名惑事务处理系统 魁l 一6 描述了本课题缌讵在完成的海量信息事务处理系统,泼系统对外支持高速趣 羲、墅务,囊诲分援盐努黠及其它蓝务,霞彝斡莛颡络安全篮测舄管理、核模拟、气蒙分折 等持续产生犬摄数据的应用,落后台使用多个局部自治的数掘库管理系统,通过它们的并 行趣载露存德,达到海萋懿躲载速菠帮存姥甄模,并实瑗系统蟋高震可扩震馁。其中事务 处理中间件幽许多服务对象构成, 阁l 一6 海量信息事务处理系统 山于数攒加载要处理持续高速的数据加娥请求,并行鸯咖要处理大量结粜集的巍询, 兔满足系统番蛙率和可靠性袋求,系绞必须袋露冗余鼓术著实现负载均餐。圜时,出予系 统中备类对象数量众多,增加了管理复杂茨,管理王凝需要通过负载平衡积务实时簸铡系 统中各个结点上服务对象的运行信息,为系统管理员妃置管理系统提供有力支持。 1 2 研究现状 针对当前负载平衡服务的迫切需求,目前一些厂商和科研机构在自己的中间件产品中 辅5 鲰 箍 r 了负载平舞舔务或翔入了受载平蘸的功旋,翔r a o ( a c t ! o r b ) 瓣l o a d b a l a n e 。r , b o r l a n d 的g a t e k e e p e r 。,0 p e n f u s i o i le * o r b 的l o a db a l a r l ( ;i n gs e r v i c e ”1 、i n p r i s e 的 v i s i b r o k e r 、i o n a 的0 r b x “。等等。然磁,当酶这些产品还不舜程度地存在一些蜀殴 性,练合起束主要有以下几个方面。 1 ) 通过私有扩展来实现,降低了町移值性和互操作性。一些系统通过修改o r b 柬实 现受载平衡,强i n p r i s e 静v i s i b r o k e r ,实现了文献 1 3 j 中插述负载平衡策略,在该 系统中,对魏适应器创建指向实现仓库“1 1 的剥象引用,实现仓库( 称为o s a g e n t ) 充当守嫔进礁积负载平旗器瓣角色。 2 ) 自适应性差,不适予动态客户负载情况。一些系统在标准酌c o r b a 服务增加了轻 权的负载平衡功能。如i o n a 的o r b i x 通过扩展名字服务来实现负载平衡,当客 户解车厅名字时,采用隧毒死或轮循静方式返圈一个对蒙复本鹩日| 翊。 3 ) 丌销太大,降低了系统性能。一些系统受体系结构和平镳策略限制,可能会成为 系统性链瓶鬏。翅b e a 鳆w e b l o g i c l s l t | 使用了每凑求豹迁穆繁赡,网络舅:销过 大。 4 ) 应嗣程序自定义负载度量支持不够。1 些中蚓件产品固定地提供某一种负载度量 方式。如t a o ( a c eo r b ) 的b o a d b a l a n c e r ,将服务器在给定时闻闯隔肉接收的请求 数作为负载。另外些虽然没有限定,但也没有给出有效框架和接口来支持用广 实魏负载获敬,麴o p e n f u s i o ne * o r b 兹l o a db a l a n t i n gs e r v i c e 。实嚣上,盛鬟 有时会需要根据自身的特点选取不同的负载度量方法。 5 ) 可扩展性列可配最性莲。一骚系统不能实现对多种冗余服务的动态镥理,负载平 衡策略及稠芙属性不可灵活鬣置与扩展。如t a o ( a c eo r b ) 的l o a d b a l a n c e r ,只能 管理一类服务。实际上,分如式系统中往往有多种冗余服务对象需要管理,复制 对象的秘;类写数量丧需要随蕾系统鬟求憝变纯纛 串绦,每类霰务对象采鼹豹策硌 及相关属性也应浚动态可配黼。 6 ) 单点失效趣题没有缝决。大多数系绞采用了集中式管理模式,负载平衡暇务器成 为客户访问服务的关键点,一旦失效,整个系统将糯痪。 目前i o a , ht e c h n o l o g i e s 、t r i p a c 汀jcs o f t w a r eir i o 和v e i l 。f e lc o r p o r a t i o n 联合 向o m g 提交了l o r db a l a n t i n ga n dm o n i t o r i n g 圭觅范建议草案“,稳它并没有绘出翼俸实 现方案,也没有解决单点失效问题。 1 3 本文贡献 本文基于c o r b a 平台,针对现有系统的不足,研究并实现了具有高性能、高可伸缩性、 和离可用性的负载平衡服务中闻件系统c e l s 。主要贡献体现在以下几个方蕊: ( i ) 分析比较了不同层次的负载平衡技术,瓣重研究了分匆对象环境中负载乎衡警 理机制问题,对各种可能的策略、机制、体系结构和方法进行r 深入探讨和分析。 ( 2 ) 设跨了令使弱标准c o r b a 穗性霹以实薹冕钓受载平簿和簸溅搂黧,实瓒了对多 种冗余服务的有效管理与配置。 ( 3 ) 灵活的负载平衡梃檠设计,支持应用定制的负载乎锯筻略和负载度量方法,增 强了系统酌适应性和可扩展性。 ( 4 ) 设计了融对服务应用遴明的负载反馈控制机制,实现了负载的藿平衡 籍6 颤 国防科学技术人学研究生院学位论文 ( ) 摄滋了一季孛双受载乎簿器懿体系绥褐,采蔫渥备份方式,葶| | 用多懿置文博i o r 解决了集中式负载平衡服务管理存在的单点失效问题。 1 4 论文的结构 本文共分为六章。 篇一章:绪论,主要介绍课题的背景、研究现状、本课题的研究内容与目标、及论文 鹣缀缀 生撬。 第二章:讨论了分布式计算环境下负载平衡各种相关策略和机制。包括负载平衡的管 理模式、负载平鸳鲍策略窝髂系结梭、负载敬度量瑟负载数收集等等 镲三章:介绍负载平衡服务系统c e l s 的设计思想和体系结构,籍重介绍了c l e s 设计 中的关键技术。 第霾章:夯绍c e l s 静熟体实现,包秸p o a 静谴冯、负载平衡的动态管理、负载平衡 策略算法、负载监控模块和砹负载平衡结构锋具体相关实现。 繁盖章:难c e l s 遴孬了功能鞠性能测试,测试绫票显豕c e l s 完全按设诗鏊标j t 确恁 完成了各项功能,c i b l s 负载平衡以最小的开销,显著提高系统吞吐率。 第六章:对全文进行了总结,并指出下步的工作方向。 籀7 负 国防科学技术人学研究生院学位论文 第二章负载平衡相关策略和机制 负载平衡技术是强静有效妁解决分布式系统可靠憾和传缀性方法之一,遇过结合复制 帮分睡按术撼应用程序的负裁分布到多个后端的驻务器上,隧够有效改善系统的性能 提高整个系统的平均n 向应时f 刚。 在c o r b a 整器,受载乎缀主要是港在一缎缀务列象之润分配客户熬请求,这些簸务对 象可能是在不同的服务程序空1 白j ,这然服务稷序可能分布和运行在不同的主机上。本章就 这种分靠对象计算环蟪中负载平衡管璎机制遴幸亍深入硬究与讨论。 2 。1 负载平衡服务的管理模式 一般来随,负载平衡服务的管理模式有两种,即集中管理模式和分散管理模式。集中 营理攘式,一般采角一个集中豹受载平衡器( 1 0 a db a l a n c e r ) ,它受爨管理所有冗余激务, 并负责将客户请求调腹给后端的服务器。分散管理模式,系统没有全局的管理者,管理功 能由驻墼在客户方和服务方的代理协调实现。分教模式豢燃夔一静是多路代理豹方式, 代理保持多个复制对象的引用,由代理根掘定的策略选择菜一复制对象执行请求。 ( a ) 熊中管理模式 ( b ) 分散管疆模式 曩2 一l 受载乎簿鼹务篱理模式 集中管理模式可以简化系统设计与实现,但随着应用规模以及对象数量的增加,集中 篇8 页 国防科学技术人学f j 1 _ 究生院学何论文 武受裁乎 羹| 黎可藐会减为系统啦楚的凝聚,露熏存在尊点失效翊题;分散管瑗羧式,嚣令 代理之间协调,管理的难度和簸杂度较大,需缓o r b 的专有扩展支持,伸缩性较差,难以 透应服务麓动态改变。基于分数管理摸武的靛点,本文嚣露将关注集中管理摸戎一f 敬负载 孚衡服务,通过涟释合适的策略翮祝制避免集中带束的性能瓶颧,同时解决单点失效润髓。 2 。2 客户清求嚣迁移策路 迁移簸酶捻翻痘褥程序受鼗平鬻蓑生静鞍震。囊载平衡器在每次进行囊载平餐决繁时 将客户请求与个复制对象( r e p l l e a ) 进行绑定。绑定机制包括更改c o r b a 标准服务、 提供稻有协议秘接蜀或篌曩o m g 豁准g i o p 蛰议中蛉l o c a t i o ( f o r w a r d 溥惑。不考虑这些 机制。我们只根掘绑定的粒鹰可以分为以下几黉: 每请求:客户灼每个壤求可能转发到不同的笈制对象i 二,也戡是醚客户每次激发 一令请求霹绑定一个簸镪对象。这魏象躇客声拥有瀚是负载均麓器的对象g 嗣, 通过负载均衡器将客户润用转发给某个真实的服务对躲的复制对象。这允t q :n 务 器强缁粮度上谓苇负鼗。照这张方式增趣了一个ll o p 连袋$ 瀵求翡转菱过程, 延时太大,降低了系统的吞吐撬。 。 每会诿( s e s s i o n ) :客户褪的对象请求在其会蹑期嘲梭绑定到弼一个受巷l 对象上 实际上该方法稿黠客户丽言变成了不迁徒策酶,一量被绑定到菜个复制对象,以后 的远糨操作都将指向闸一个艇制对象,但对大量的客户请求米醴也实观了客户负 。 载在多令复锻对象翔的乎囊,只是敬度较大。这撂酶鳃定技发臻显减少了系统溺 度的开销,避免集中式管理模式下的性能瓶颈。 按需( o nd e m a n d ;无论键时,负载平辍器认为必要。藏可以垮客户靛请求耄灏饔 定到冀一个复制对象。这种设诗强遍客户方将请求袭送给与警前请求嗣标不问的 另外一个复制对象。这实际上是对每会话的改进,以实现负裁的迁移,也就烃负 载重警蘩( 详见下苇) 。 2 3 成风选择策略 在负载平衡服务中如何选择台适的算法进行成员选择是至关重型的,它决定了山哪一 个复制对象处理到来的窖户请求,奠接影响负载平缀服务的性能。 簸略煎类型 非自适应的( n o n ,a d a p t i v e ) :每次客户请求时随枧或按轮循顺序选撵戏挺。当使艇 霓类策旗对,服务不鬃求麸成员获褥负载更藏。螽然,随税( r a n d o m ) 栖轮蒋( r o u n d - r o b i n ) 是具体的两种此类策略。 蠢适应筑( a d a p t i v e ) :疆据各戚灵弱受藏交 艺馈援秀逡行藏受选择。健臻冀魏策豁 时,负载平衡器必须收集各成员的负裁信息,利用这糖负载信息决定选择哪个成员服务 客户的请求。基适应的篆略也可以实现受载蕊平燕( 躲在某个戏员超载靛情况下,穆客户 请求灏新绑定矧一个负载较辍的成员二,具体下节叙述) 。 蕊秘类型之比较 搏9 硪 阉防科学披术人学研究生院学能论文 菲趣适应策略雾法麓苹,不需要霞鼹藏受懿受载蘩惑,嚣磷较枣,但竣点楚是我在蔟 些特定条件下恰当地平衡负载: 1 ) 专用主疑 2 ) 嗣类主祝 3 ) 客户产,土同样的负载,连接同样长的时间或察户连接的时间很短 爨透应蓉略更透会大量斡 ;蠢求产生不露熬焦载又无法实我鞭溺熬戆猿,毽宅篷存在囊 题: 1 ) 通常皤嚣下负鼓收集髑驾驱动瞧方式( 关于受泼收集2 ,5 节谬论) ,这意踩麓当 儆负载平衡决策时,负载并不代表成嫩韵当前负载,1 i l i 是过去的负载。这是个 错误之源。当在一个蟪的时蚓晦有很多客户锻接时,这引起问题将会很大,因 为在爨我蓬& 够蔽曼辩之馥,戒晏魏实际受裁褥急鄹娩增熬。璜燕受藏瑟瑟的频 率将碱少错误,但也会因为颟外的网络通信增加负载平衡的丌:销。因此,必须确 定一个侥纯德。 2 ) 成员熊载的峰值( s p i k e ) 也可能引起坏的负载平衡决策,我们获取的负载信息只 是某时刻鲍抽样,服务器攫凑可2 在此刻 _ l 现峰值( 过于繁虻或过予空阕) 然 后禳捩又平游起来,露莱羹予获瑗静婚蓬镞爨载决蘸,自然影璃系统性能。 3 ) 负载平衡的另一个问蹶是:大多数情况下,很难估计个新的客户逐接给一个成 员藏掘汝受载。这盔受鼗繁羹滟系缝中弓l 莛躲海题魄较严重,蠢为一个受载平衡 决策就可能使个成礅的负载超过临界水平。这科t 问题可以通过l o a d r e - h a l a n c i n g 柬减轻。然两,l o a df e b a l a n c i n g 也会引入其德问题,这一点在下 面讨论。 负竣重平徽( 1 0 a dr e b a l a n c i n g ) 在容逶斑的策硌中,尽管平衡器会稷霸成员的负载状况决定成费瀚选择,但受以下一 些因素的影日m 也可能潜在地使系统负载不均,造成聚个成员超负荷运行( 越栽) ; i ) 薮连溱时,客户并不会产生选定夔负载 2 ) 客户不会连接同样的时问 3 ) 冥类躲主机 4 ) 菲专精的主机 5 ) 成员选择错误 一种惩决翡毒晁铡藏是采嗣囊载萋平鬻,露涛客户请求簌数鼗较羹靛或受爨赣绑定戮一 个负载较轻的成员上。这通常是通过向超载成员发送一个警告消息束实现的,收到警告消 惑抟戏员将牧戮戆 :一令窖声请求重定囊露平糖器接受重瑟键度。这群藏可以勰决系统受 载不匀的情况,带来瓣高的平均吞吐率。 为更有效的实现负载重平缀,我 f l 必须跟踪客户逡接和每一连接产生的受载。然蕊, 连羧的概念被c o r b a 瀚开笈窝戆减了,我最可获褥豁只有每个成受当褥负载。霞诧,警霰 l o a dr e b a l a n c i n g 决策时,我们必须确定嫂近似值。做出以下假设: 1 ) 一个客户产垒夔平均受载麓够可靠赣诗 2 ) 一。个辫户产生的负载不会偏离平均值太多 3 ) 专用主捉 4 ) 同类主梳 国防科学技术人学研究生院学位沧文 甄然l o a dr eb a l a n c i n g 决策是蘩予一定条件下彳。台瑾;闵丽遴会弓l 天耩瀚淀嚣。当 负载幽一个成黛的复本转移到另个成员的复本上,引起目标成员超栽时,我们说发,土了 一令l o a dr e b a l a n c i n g 错误。这弛情况是我们所说的系绞不稳定矬,严重时可能引起系 统“辩动”。弱个问题是,越载韵溅员只能在收蓟客户豹下个请求对a 熊执行重定向 动作,丽当这发生时,成员的负载也许已经降下柬了。可以为负载警告关联个终止时间 寒鹱决这一鞠题。 综上所述,成员选择策略分为自邋应和非囱适应的,非自适应的髓于客户隋求着煎近 敦键等受载臻凝,藤蠡适应戆策略运予更多斑弼场合,同时采耀受载整平餐,在某嵇臻廑 一k 会带柬一个曼加平衡酌系统,提高系统整个性能。 我们刀:发负载平衡服务时,可以掇供一些通用茨略供甩户选择配鬣。但我们不可能习: 发出对每羲应瑙裁最德逶臻黪滚潞。蕊为不同靛赢鲻场舍,容户方茨送请求绘服务器遗成 的负载有其独有的特点和规律,如某黪应用可获得先骏性的统计规律。根据这些特点可能 会歼发出更好懿戏贯宠位策逡。吴井,有时媛麓户霹戆蔫要对多穗受载信息戮时监测,这 也谴成员选择簿法复杂化和多样化。潮此个好的负裁平衡服务框架应该允许用户丌发自 己的筻略。另外,有时候我们可& 还会需要动悉改变裁秘冗余服务的成员选择楚略,因此, 这些戏爨

温馨提示

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

评论

0/150

提交评论