




已阅读5页,还剩50页未读, 继续免费阅读
(计算机应用技术专业论文)具备内容感知能力的网络负载均衡技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工程大学硕士学位论文 摘要 人类社会已进入以网络为中心的信息时代,人们需要更快捷、更可靠、 功能更丰富的网络服务。未来的应用将需要更高的吞吐率、更好的交互性、 更高的安全性,这要求服务平台具有更强的处理能力和更高的可用性。所以, 如何给出合理的框架和有效的设计方法,来建立高性能、高可伸缩、高可用 的网络服务,这是摆在研究者面前极富挑战性的任务。同时如何增强负载均 衡设备的智能,使之可以更好的适应复杂环境下的工作,提供更为全面的服 务也是研究的热点问题。本文研究的具有内容感知能力的网络服务负载均衡 技术便是围绕这一任务展开的。 为了提高负载均衡系统的智能性,本文首先研究并改进了现有的内容感 知算法,使之适合网络负载均衡环境,该算法具有可在大样本空间下快速检 索关键信息的特点,容易以硬件方式实现,可进一步提高效率,并从理论上 证明了其应用于负载均衡系统的可行性。然后在分析和比较了现有负载均衡 技术和系统的基础上,选择了l i n u x 系统中的l v s ( l i n u xv i r t u a ls e r v e r ) 负载 均衡系统为基础平台,并对其进行了适当的改进,使之可以更好的适应大流 量环境下的负载均衡工作,实验结果表明本文的工作已在很大程度上缓解了 l s 原本固有的网络瓶颈问题,使得系统的网络带宽可以获得近乎线性的增 长。最后以改进的l v s 为基础平台,使用上述内容检索算法实现了具备高网 络报文吞吐能力的智能负载均衡系统,实验结果显示本文方法可靠,执行稳 定,效率较高。 关键词:负载平衡;内容感知;关键字匹配;l v s 哈尔滨工程大学硕士学位论文 a b s t r a c t t h eh u m a ns o c i e t yh a sb e e ne n t e r i n gan e t w o r k c e n t e r e di n f o r m a t i o ne r a , i n w h i c hu s e r sn e e da e c 腿sf a s t e r , m o r er e l i a b l ea n df u n c t i o n a ln e t w o r ks e r v i c e s f u t u r ea p p l i c a t i o n sw i l ln e e dh i g h e rt h r o u g h p u t , i n t e r a c t i o na n ds e c u r i t y , w h i c h r e q u i r e ss e r v i c ep l a t f o r mp r o v i d em o r ep r o c e s s i n gp o w e ra n dh i g h e ra v a i l a b i l i t y t h e r e f o r e ,t h ei n t e r n e tr e s e a r c hc o m m u n i t yf a c e san u m b e ro fc h a l l e n g e sa t p r o v i d i n g af e a s i b l ef r a m e w o r ka n dd e s i g nm e t h o d o l o g i e sf o r c o n s t r u c t i n g h j i g h - p c r f o r m a n c e ,h i g h l ys e a l a b l ea n dh i g h l ya v a i l a b l en e t w o r ks e r v i c e s h o wt o d e s i g nal o a db a l a n c es y s t e mw h i c hi ss m a r te n o u g ht od e a lw i t ht h ec o m p l i c a t e w o r k si sa l s oa no p e np r o b l e m t h ec o n t e n ta w a r el o a db a l a n c et e c h n i q u ef o r n e t w o r ks e r v i c ea d d r e s s e di nt h i st h e s i sr e p r e s e n t sas t e pt o w a r d sa m e l i o r a t i n gt h e a b o v ep r o b l e m s t oi m p r o v el o a db a l a n c es y s t e m s a p t i t u d e ,f i r s t l y , ac o n t e n tm a t c h i n g a l g o r i t h mf o rt h ek e y w o r ds e a r c h i n gi nt h ei n t e m e tp a c k e t sw a si n v e s t i g a t e da n d d e s i g n e d i tw a sp r o v e dt h a t t h i sa l g o r i t h mf i t st h en e t w o r kl o a db a l a n c e a p p l i c a t i o na n di se a s y t ob ei m p l e m e n t e do nh a r d w a r et o i m p r o v e t h e p e r f o r m a n c e t h e nl i n u xv i r t u a ls e r v e r ( l v s ) l o a db a l a n c es y s t e mw a ss e l e c t e d a sa p r o t o t y p eb a s e do n t h ei n v e s t i g a t i n gt h el o a db a l a n c et e c h n o l o g ya n ds y s t e m t oi m p r o v et h ep e r f o r m a n c eo fi sl o a db a l a n c es y s t e ma n dm a k ei tw o r kb e t t e r o nt h el o a db a l a n c ea p p l i c a t i o nw h e r et h et r a f f i ci sv e r yh e a v y , a na p p r o a c hf o r a l l e v i a t i n g t h en e t w o r kb o t t l e n e c ki np a c k e t sd e l i v e r yw a sp r o p o s e d t h e e x p e r i m e n tr e s u l t ss h o w e d t h a tt h i sa p p r o a c hi n t r o d u c e dal i n e a ri m p r o v e m e n to r n e t w o r kb a n d w i d t h f i n a l l y ,ac e n t e n ta w a r el o a db a l a n c es y s t e m ,w h i c hh a dt h e m e r i ta sah i g hn e t w o r kp a c k e t st h r o u g h p u t , w a si m p l e m e n t e db a s eo nt h ec o n t e n t m a t c h i n ga l g o r i t h mp r e v i o u s l yd e s i g n e da n di m p r o v e dl v s 1 1 1 ee x p e r i m e n t r e s u l t ss h o w e dar e a s o n a b l eh i g hp e r f o r m a n c ei nf o r w a r d i n ga n ds t a b i l i t y k e yw o r d s :l o a db a l a n c e :c o n t e n t a w a r e :k e yw o r ds e a r c h i n g ;l v s 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用已在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 作者( 签字) :免堡 日期:沙7 年7 月t e 日 哈尔滨工程大学硕士学位论文 1 1 研究的背景及意义 第1 章绪论 i n t e r n e t 的飞速发展给网络带宽和服务器带来巨大的挑战。从网络技术的 发展来看,网络带宽的增长远高于处理器速度和内存访问速度的增长,因而 越来越多的瓶颈会出现在服务器端。很多研究显示,之所以g i g a b i te t h e m e t 在服务器上很难使其吞吐率达到1 g b s 的原因是协议栈( t c p m ) 和操作系 统的低效,以及处理器的低效。特别是在网络服务的核心部分,随着业务量 的提高、访问量和数据流量的快速增长,其所需的处理能力和计算强度也相 应增大,这种矛盾也就表现的愈加激烈。 对于上述矛盾,在协议的处理方法、操作系统的调度和i o 处理的性能提 高有限的情况下,单一的服务器根本就无法满足正常的工作要求。因而,采 用服务器集群来提供网络服务就成为目前解决这一问题的普遍方法。所谓服 务器集群就是指,将多台单独的服务器作为一个统一的系统向用户提供服务, 大量的来自不同用户的服务请求将会被分配到集群内部不同的服务器上进行 处理,从而使得网络服务系统的处理能力获得接近线性的增长。 由此可见,如何在服务器集群中进行流量负载均衡,以及如何提高整个 服务器集群的可用性和可伸缩性,就成为了影响集群整体性能和升级潜力的 主要问题。而前者又通常起着决定性的作用,因为其解决的好坏直接影响系 统性能的优劣和可用性的高低,解决的方式方法直接决定着系统可 串缩的程 度和系统管理的方式。 同时,网络服务的目的是为用户快速提供其所需的信息内容,而处于下 层的交换与负载均衡设备不能感知应用层的数据内容,因而在满足用户的要 求方面就显得智能不足,而且不能感知内容,显然在管理上也有所缺陷( 例 如,需要屏蔽一些关键信息) 。所以为了增加网络服务能力,以更有效的方 式管理和控制网络,使用户可以方便、快捷、高效地获得正确的信息,研究 具有内容感知能力的弼络负载均衡技术具有重要意义。 哈尔滨工程大学硕士学位论文 1 2 负载均衡技术的研究现状 如何在服务器群集群中进行流量负载均衡,以及整个服务器集群的可靠 性和可伸缩性就成为了影响集群整体性能和升级潜力的主要问题,而前者又 通常起着决定性的作用,因为其解决的好坏直接影响系统性能的优劣,解决 的方式方法又直接决定着系统可伸缩的程度和方式。 在此情况下,负载均衡( l o a db a l a n c e ) 机制应运而生,其将大量的并发访 问或数据流分配到多个节点设备上分别处理,减少用户等待响应的时间。负 载均衡提供了_ 种廉价有效透明的方法扩展网络设备和服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 1 2 1 负载均衡解决方案 目前有多种负载均衡方案可以满足不同的应用需求。下面从负载均衡所 采用的技术、对象、负载调度的网络层次( 指o s i 参考模型) 、负载的调度方 式和负载调度范围来分类。n , 1 软件硬件负载均衡 软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装 一个或多个附加软件来实现负载均衡。它的优点是基于特定环境、配置简单、 使用灵活、成本低廉,可以满足一般的负载均衡需求。软件解决方案缺点较 多,因为每台服务器上安装额外的运行软件会消耗系统一定量的资源。越是 功能强大的模块,消耗得越多,所以当连接请求特别多的时候软件本身会成 为系统的瓶颈。另外软件受到操作系统的限制,由于操作系统本身的缺陷, 往往还会引起安全问题。 硬件负载均衡解决方案是在服务器和外部网络间安装负载均衡设备,这 种设备通常被称之为负载均衡器。由于专门的设备完成专门的任务,独立于 操作系统,使得整体性能得到大幅提高,加上多样化的负载均衡策略,智能 化的流量管理,可达到最佳的负载均衡效果。硬件负载均衡设备性能高,但 是因为要进行专门的设计( 例如针对性的a s i c 设计) ,所以造价高,配置 的灵活性和可扩展性较软件的实现方式低。 2 本地全局负载均衡 2 哈尔滨工程大学硕士学位论文 从负载的调度范围可分为本地负载均衡和全局负载均衡,本地负载均衡 是指对本地的服务器群做负载均衡,全局负载均衡是指在分散于不同地理位 置和不同网络结构的服务器群间进行负载调度。 本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且 不需花费昂贵开支购置高性能服务器,充分乖j 用现有设备,避免服务器单点 故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配 给集群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单 地增加一个新的服务器到服务集群中,而无需改变现有网络结构、停止现有 的服务。 全局负载均衡主要用于在一个区域拥有多个服务器的站点,为了使全球 用户只以一个i p 地址或域名就能访问到离自己最近的服务器,从而获得最快 的访问速度。 全局负载均衡有以下的特点: ( 1 ) 实现地理位置无关性,能够远距离为用户提供完全的透明服务; ( 2 ) 能避免服务器、数据中心等的单点失效; ( 3 ) 解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更 好的访问质量。 3 不同网络层次上的负载均衡 针对网络上负载过重的不同瓶颈所在,负载均衡可以从网络的不同层次 入手,解决现有问题。 随着带宽增加,网络流量不断增大,网络核心部分的数据接口将面临瓶 颈问题,原有的单一线路将很难满足需求,而且线路的升级又过于昂贵甚至 难以实现,这时就可以考虑采用链路聚合技术,在数据链路层进行负载均衡。 链路聚合技术将多条物理链路当作一条单一的聚合逻辑链路使用,网络 数据流量由聚合逻辑链路中所有物理链路共同承担,由此在逻辑上增大链路 的容量使其能满足带宽增加的需求。 作用在网络层和传输层的负载均衡技术,将一个i n t e r n e t 上合法注册的 i p 地址映射为多个内部服务器的i p 地址,每次根掘负载调度策略的不同,动 态使用其中一个内部i p 地址,达到负载均衡的目的。 应用层负载均衡控制应用层服务的内容,提供了一种对访问流量的高层 哈尔滨工程大学硕士学位论文 控制方式。详细的内容将在内容交换中讨论。 4 集中式调度分布式调度 按照负载的调度方式,可分为集中式调度和分布式调度。 集中式调度通常有前端的调度节点,用户只能看到前端调度节点的i p 地 址,调度节点不参与实际的服务工作,只进行后端服务器集群的状态收集、 系统一致性维护和负载分配的工作。后端的每一台服务器都有自己单独的i p 地址,其对于客户而言是透明的。这样做的优点是可以获得额外的安全性, 但是在网络流量很大的情况下,前端调度节点就可能会成为系统的瓶颈。 分布式调度没有调度节点,一般不进行整个系统的一致性维护工作,因 而实现相对简单,但是在可靠性和均衡效果方面存在问题。如果进行一致性 的维护,则会由维护带来很大的开销,有时甚至是不可满足的。 总之上述的不同解决方案大都立足于网络的较低层次上解决负载均衡问 题。共同的特点是不对需要进行调度的报文的内容进行检查。目前只有防火 墙类产品可在扫描报文内容,但该类产品并不适用于大规模的网络报文检查, 其作为局域网或小规模网络的门槛或许可以,但当报文量增加时及易成为网 络上的瓶颈,造成数据的丢失,另外其对硬件的要求较高,因而造价也相对 较高。 1 。2 2 成熟的产品和正在开展的研究项目 目前成熟的工业界产品和正在开展的研究项目主要有以下几个:m 1 e d d i ep r o j e c t e d d i ep r o j e c t 是爱立信研究室开展的项目,目标是实现一个鲁棒的 ( r o b u s t ) 、可伸缩的i n t e r a c t 服务器。它使用的主要技术是改进的r r - d n s 和应用层调度的方法。正如所说,这些方法分别存在负载不平衡和伸缩能力 有限的问题。 2 b e r k e l e y sc l u s t e r - b a s e ds c a l a b l en e t w o r ks e r v i c e s 加州大学b e r k e l e y 分校的研究人员给出了基于集群系统的可伸缩网络服 务的三层模型,它们依次从底向上为可伸缩网络服务s n s ( s c a l a b l en e t w o r k s e r v i c e s ) 、t a c c ( t r a n s f o r m a t i o n , a g g r e g a t i o n ,c a c h i n g ,c u s t o m i z a t i o n ) 和 s e r v i c e ,讲述了怎样基于该模型构造c l u s t e r - a w a r e 可伸缩的网络服务,将网 4 哈尔滨工程大学硕士学位论文 络服务进行分割,分发到各个结点运行。这种方法需要重新开发网络服务应 用程序,而且由应用程序本身提供负载平衡调度和容错处理。 3 n i n j ap r o j e c t n i n j a 项目是加州大学b e r k e l e y 分校正在的研究项目,它的目标是开发 一种软件体系结构来支持下一代i n t c r n c t 应用。n i n j a 方法的核心是在集群环 境建立一个软件平台b a s e s ,它提供可伸缩、高可用、容错和数据持久性等服 务,来简化可伸缩网络服务的建设。整个平台是用j a v a 语言开发,这需要用 j a v a 语言重写网络服务应用。目前,这个项目正在进展中。s t e v e n g r i b b l e 的 博士论文主要讲述了为n i n j a 项目设计和完成分布式数据结构( d i s t r i b u t e d d a t as t r u c t u r e ) 支持数据持久性服务。 4 m i c r o s o f tc l u s t e rs e r v i c e 微软的集群服务m s c s ,采用s h a r e n o t h i n g 的集群模型,每个结点运行 n t 操作系统。m s c s 主要实现了n t 集群系统的统一管理,结点的加入和离 开,结点的故障检测和故障后( f a i l o v e r ) 处理。目前m s c s 主要实现了集群 系统的高可用性,但没有涉及到集群系统的性能上的伸缩性,没有事务处理, 若一个结点失效,另一个结点取而代之,但失效结点当前处理的请求会被丢 掉,需要用户重新提交请求。 5 m i c r o s o f t ss c a l a b l es e r v e r sr e s e a r c hg r o u p 这是j i mg r a y 在微软研究院领导的可伸缩服务器研究小组,研究基于 w i n d o w sn tc l u s t e r s 的可伸缩服务器。j i mg r a y 的n tc l u s t e r s 定义如下: n tc l u s t e r s :ib e l i e v ey o uc a nb u i l ds u p e r c o m p u t e r sa sac l u s t e ro f c o m m o d i t yh a r d w a r ea n ds o t t w a r em o d u l e s ac l u s t e r i sac o l l e c t i o no f i n d e p e n d e n tc o m p u t e r s t h a ti sa se a s yt ou s ea sas i n g l ec o m p u t e r m a n a g e r ss e ei t 雏as i n g l es y s t e m ,p r o g r a m m e r ss e ei ta sas i n g l es y s t e m ,a n du s e r ss e ei ta sa s i n g l es y s t e m t h es o f t w a r es p r e a d sd a t aa n dc o m p u t a t i o na m o n gt h en o d e so ft h e c l u s t e r w h e nan o d ef a i l s ,o t h e rn o d e sp r o v i d et h es e r v i c e sa n dd a t af o r m e r l y p r o v i d e db yt h em i s s i n gn o d e w h e nan o d ei sa d d e do rr e p a i r e d ,t h ed u s t e r s o f t w a r em i g r a t es o m ed a t aa n dc o m p u t a t i o nt ot h a tn o d e 其中文意义是,n t 集群系统:我相信可以将日常的硬件和软件模块通 过集群的方式组织起来,从而实现超级计算机的功能。一个集群就是将一组 哈尔滨工程大学硕士学位论文 独立的计算机组织起来,并使得它们可以表现的像一台计算机一样。即,管 理员看到的是一个单一的系统,程序员看到的是一个单一的系统,同时用户 看到的也是一个单一的系统。软件负责为所有的集群节点分派数据和计算任 务。当集群中某一个节点宕机时,其它节点可以承担该节点应提供的服务和 数据。当一个节点新加入集群( 或被修复) 时,集群软件可以将部分任务和 数据迁移到该节点上处理。 在1 9 9 7 年,他们演示了在两个结点的n tc l u s t e r s 上高可用的s q l s e r v e r ,故障后时间( f a i l o v e rt i m e ) 为1 5 秒。在伸缩性方面,1 9 9 7 年5 月 2 0 日他们演示了4 5 个结点的n tc l u s t e r s 系统,每天能处理1 0 亿个 t r a n s a c t i o n 。但是,在这个系统中每个结点服务于不同的客户,并行性是静 态分割好的,所以可伸缩服务器有待于深入研究。 j i mg r a y 等在1 9 9 9 向美国总统提交的“信息技术研究:投资我们的未来” 报告,指出政府在以后十年应加强在软件技术、可伸缩信息基础设施和高端 计算的研究投入。他们还认为可伸缩服务器将会取代伸缩性差的多处理器服 务器。 1 2 3 负载均衡系统发展趋势 可以说目前的工作与低层的负载均衡设备已经相对成熟,但为了满足日 益增长的用户需求,集群服务系统与网络负载均衡系统的结合在现在乃至今 后相当长的一段时问内都是网络研究中的热点与难点问题。如何解决超大规 模系统的负载均衡问题,系统的动态可扩展问题,解决管理的问题都是值得 关注和深入研究的课题。另外,随着芯片处理能力的提高、存储容量的扩大, 越来越智能的负载均衡技术的研究也正在开展中,并必将是今后的网络负载 均衡技术中重要发展方向之一。 1 3 本文的研究内容 本文主要是在分析了目前网络负载均衡系统智能不足之后,研究了具有 内容感知能力的网络负载均衡技术,并基于l v s 负载均衡系统构建了可以适 用于集群服务器的具备内容感知能力的负载均衡系统,在很大程度上缓解了 l v s 系统所固有的网络瓶颈问题。本研究涉及到以下方面的内容。 6 哈尔滨工程大学硕士学位论文 1 ) 面向报文的内容检索技术的研究。作为内容检索技术的目标应用领 域,网络报文具有单个样本容量少、累积样本空间大的特点,因而本文依据 已有的内容检索研究成果,改进了逐字节比较串匹配算法,并从理论上证明 了其应用于负载均衡系统的可行性。 2 ) 在l v s 平台上设计并实现了与目标应用环境相适应的高效检索系统。 选择l i n u x 中的l v s 负载均衡系统为基础平台,利用上述内容检索算法,在 l i n u x 内核中修改了t c p i p 协议栈,在i p 层截取、改写和转发i p 报文,实 现了具备内容感知能力的负载均衡系统。 3 ) l v s 下缓解网络瓶颈问题的研究。由于处于流量的关键路径,负载调 度设备很容易成为网络服务系统的瓶颈,l v s 也同样面临着这一问题。本文 着力于增加l v s 集群服务系统的可伸缩程度,最大程度缓解网络瓶颈问题。 1 4 论文的组织结构 第1 章绪论简要介绍课题研究的背景及意义、负载均衡技术的研究现 状和课题研究的主要内容以及论文的组织安排。 第2 章负载均衡技术及算法的分析和研究主要对现有技术和算法进行 了叙述、分析,从中找到了其需要改进的地方。 第3 章面向报文的内容检索技术研究并改进了适合在数据量很大的环 境下,对某些敏感信息进行检索的算法,并在理论上验证了其优点和用在负 载均衡系统上的可行性。 第4 章具备内容感知能力的负载均衡系统研究首先介绍了目前在 l i n u x 平台下的一种负载均衡系统l v s ( l i n u xv i r t u a ls e r v e r ) ,该系统也是本 文的实验平台,后续的研究工作都在该平台上展开。然后研究了l v s 中所固 有的网络瓶颈问题,以及缓解网络输入瓶颈问题和支持多个单映象i p 网络服 务的方法。最后提出了基于l v s 的解决方法,并将内容检索技术融入l v s , 实现了具备内容感知能力的、具备高可伸缩性的网络负载均衡服务系统。 第5 章实验与性能测试给出了具备内容感知能力的负载均衡系统的测 试方案和测试的性能参数。结果证明该内容感知系统工作正常,效率较高。 与原有l v s 系统进行比较后,系统网络可伸缩能力提高近一倍。 7 哈尔滨工程大学硕士学位论文 第2 章负载均衡技术及算法的分析研究 2 1 负载均衡技术分析 1 基于d n s 轮询技术的负载均衡 d n s 轮询技术就是利用域名服务器实现服务器问负载均衡。其优点是实 现简单、适用范围广,但是这种方法的均衡粒度过大。若一个网段内负责域 名解析的d n s 向服务器集群的d n s 进行了一次域名解析,就会缓存该结果, 在该缓存项有效时间内,对于所有对该域名的解析请求它都会返回缓存中的 i p 地址,而不会再次查询,因而在此时间段内所有来自该网段的服务请求就 会发送到同一台服务器上。如果缩短d n s 缓存项的有效期,那么就会因域名 解析请求频繁而占用大量的网络带宽,而且还可能带来其它的一些问题。更 为危险的是如果其中一台服务器意外死机,d n s 却会对此毫无所知,所以就 仍然会对其p 地址进行解析,造成客户的服务请求不能得到正常响应。1 2 基于口隧道技术的负载均衡 当集群中一台服务器发现其负载过重时,可以通过i p 隧道技术将请求转 发给其它的服务器处理。此时要求所有的服务器都支持i p 隧道技术,同时也 会带来额外的打包解包的开销,而且当整个集群系统的负载都比较重时,甚 至可能出现分组环路现象,因而其性能和可靠性都不高。”1 3 基于n a t 的负载均衡 n a t 负载均衡将一个外部的口地址( 用户可见的i p 地址) 映射为多个 内部i p 地址( 服务器地址) ,从而将请求分发给各个服务器,实现负载均衡。 这种方式可以很好的完成均衡任务,但是此时中心负载均衡设备的工作非常 繁重,到达的服务请求和服务器发送的响应分组都需要经过它的处理,因而 该设备很容易成为系统的瓶颈。 4 反向代理负载均衡 就是将来自网络的服务请求以反向代理的方式动态转发给内部的服务器 进行处理,从而实现负载均衡。此方法也是处于应用层的,所以就必须为每 一种应用服务开发一个反向代理服务器,这样就限制了其应用的范围。同样 哈尔滨工程大学硕士学位论文 进出系统的分组都要由中心负载均衡设备处理,这样它的工作负载就会很重, 进而可能成为系统的瓶颈。”m 5 通过直接路由实现负载均衡 中心负载均衡器根据各个服务器的负载情况,动态地选择一台服务器, 将数据帧的m a c 地址改为选出服务器的m a c 地址,再将此数据帧遥过局域 网发送到服务器。此方法要求中心负载均衡设备和服务器组都必须在物理上 有一个网卡通过局域网相连。用户看到的i p 地址v i p ( v i r t u a li p ) 为中心设 备和服务器组共享,所有的服务器把v i p 地址配置在各自的n o n - a r p 网络 设备上。服务器处理分组后将响应分组直接返回给客户。其速度在上述所有 的方法中是最快的,但是限制条件较多,有局限性。m m 2 2 负载均衡算法 为了合理且有效地将服务负载调度到内部的服务器进行处理,就需要一 个可以恰当地反映当前各个服务器和网络状态的负载均衡算法。中心负载均 衡设备将根据此算法选出最适合处理当前服务请求的服务器,然后再将该请 求调度到相应的服务器上。在进行服务器负载状况评估时,主要依据以下的 参数:服务器的处理能力、服务器的响应时间、服务器的当前剩余处理能力、 服务器中当前服务的链接数和各个服务的平均处理开销等。不同的负载均衡 算法所利用的评估参数不同,它们的服务目的和适用环境也不同,目前主要 有以下几种方法:m “, 轮询:顾名思义,该方法只是简单的使各个服务器轮流提供服务,其适 用于所有服务器的处理能力相同且各个服务请求的开销基本相同的情况。 权重轮询:在轮询的基础上,为确保处理能力强的服务器获得更多的服 务请求,就为该服务器分配更大的权重,服务负载也就更多的分配给权重大 的服务器。 随机均衡:简单的将到达的服务请求随机的发送给内部的服务器进行处 理。 权重随机:类似于权重轮询,但分配处理过程为随机选择过程,权重 大的服务器处理服务的机会也大。 响应速度均衡:根据各服务器与中心负载均衡设备间的响应时间决定负 9 哈尔滨工程大学硕士学位论文 载的分配,服务请求优先分配给响应时间短的服务器。 处理能力均衡:服务请求被优先分配给内部处理负荷最轻的服务器。 最小最大链接数:服务请求被优先分配给当前链接数最小的服务器,该 方法适用于各个服务请求需要长时间处理的应用。 i ps o u r c e p o r t d c s t i n a t i o n u r l h a s h i n g :根据用户的源、目的i p 地址或 端口,或u r l 为服务请求选择服务器,该方法适用于环境相对确定的情况, 比如在某台服务器上保存有某个用户的专有信息等。 2 3 应用层负载均衡技术 网络服务的目的是为用户快速提供其所需的信息内容,而处于下层的交 换设备不能感知应用层的数据内容,因而在满足用户的要求方面就显得智能 不足,不能保证是为用户提供其所需要的内容;而且不能感知内容,显然在 管理上也有所缺陷( 例如,需要屏蔽一些关键信息) 。所以为了增加网络服 务能力,以更有效的方式管理和控制网络,使用户可以方便、快捷、高效地 获得正确的信息,由此就产生了内容负载均衡技术。 前面已经介绍了基本的负载均衡策略,在o s i 参考模型的每一层,都有 一些信息可以用来进行负载均衡,例如数据链路层中的以太网地址,网络层 中的i p 地址,传输层中的端口号和应用标识等。对于应用层服务器负载均衡, 由于其处于最高层,属于应用的范畴,所以这些信息将相对更加多样化。m 例如: ( 1 ) h t t pu r l 解析:通过对h t r p 请求的地址和页面内容的分析决定 负载调度。 ( 2 ) h t t p 报头检查:通过h t r p 请求中的其它信息,如语言或浏览器 类型进行负载调度。 ( 3 ) h t t pc o o k e :通过读取、改写和插入h v r pc o o k e ,为用户提供持 续和优先的服务。 ( 4 ) f 1 甲解析:通过转换坤控制通道中的信息,确保在实现服务器负载 均衡时操作正确。 ( 5 ) d n s 解析:通过所请求的域名或主机名决定所要发送的目标d n s 服务器。 1 0 哈尔滨工程大学硕士学位论文 ( 6 ) r t s p 流解析:识别用户所请求的视频或音频流。并从正确资源提 供内容。 基础的网络层、传输层服务器负载均衡解决了i p 服务的性能、可靠性和 可伸缩性等问题。增加部署应用层服务器负载均衡可以通过最大限度地利用 可用资源、利用应用的多样性、根据用户的要求,增强用户的体验。下面分 别以h t t p 、f t p 、d n s 和r t s p 为例,简述其相应的负载均衡方法。“, 1 h r r p 负载均衡 ( 1 ) 基于u r l 解析的负载均衡 1 ) 区分静态和动态内容类型 该方法根据用户访问的内容是静态的( 如网页) ,还是动态的( 如表单) 来进行负载均衡。一般而言提供静态内容服务只需要访问静态内容存储器, 其传输特点是对内存和c p u 的占用较小。而动态内容则需要访问应用程序服 务器或后端数据库,且需要消耗服务器较大的内存和c p u 资源。 2 ) 引进新的站点元素 有时需要向现有的站点增加服务的内容,如某个网站发起了一次投票活 动,为了不使该活动影响原有的服务,就可能会增加一个专门的投票管理服 务器,所以动态的依据u r l 中的内容将投票的请求发送给该服务器也是必须 的,这在某种程度上也增强了服务器的可扩展性。 ( 2 ) 基于h r r p 报头的负载均衡 1 ) 使用h o s t 实现虚拟主机 只有在h 1 v i w l 1 规范中才正式引入h o s t 。虚拟主机一般指使用单一的 i p 地址来表现多个主机或w e b 站点。从内容交换机的角度来看,相当于可以 使用单个v i p 来表现一系列的站点。此时对用户屏蔽了服务端的实现细节, 使得用户只要记住一个地址就可以使用所有的服务。 2 ) 根据浏览器类型 u s e r - a g e n t 提供了关于发出请求的浏览器类型的信息以及有关兼容性和 所使用的操作系统的信息,可以使用该信息选择合适的服务器。 3 1 根据语言类型 a c c e p t 1 a n g u a g e 报头向对象服务器标识了浏览器所支持和理解的语言编 码,从而可以为用户选择合适的服务器。 哈尔滨工程大学硕士学位论文 ( 3 ) 基于h r r pc o o k e 的负载均衡 在使用c o o k e 时,客户端与站点之间的完整会话过程如下: 1 ) 客户端通过延时绑定建立与内容交换机之间的t c p 会话; 2 ) 客户端发送一个当前没有设置c o o k e 值的h r r pg e t 请求; 3 ) 内容交换机解析聊g e t 请求,当发现没有设置c o o k e 时,会建 立一个新的t c p 连接到“无c o o k e ”服务器组; 4 ) 接收服务器收到h t r pg e t 请求,并向客户端发出h 丁r p4 0 1 g e t 需 要验证的消息,提示需要用户名和密码; 5 ) 客户端在之后的肌p 应答中输入用户名和密码,然后将凭证提交登 录服务器进行验证; 6 ) 如果输入的用户名和密码都是有效的,服务器将会发出h t l 甲3 0 2 或 3 0 1 消息,重定向到该站点主要部分的正确u r l 。该h t t p 重定向过程中还 包含一个s e t c o o k e 报头,它会将c o o k e 写入到客户端浏览器中。 一旦该过程结束,客户端随后的所有g e t 请求( 其中将含有该c o o k i o 都将被定向至该站点的主内容服务器。同时,也可以使用该写入的c o o k e 值 确定提供的服务质量或授权给用户的内容。 2 f t p 负载均衡 在一个内容交换机的体系结构中部署v i p 大概可以归纳为两个要点。首 先,由于是两个单独的t c p 连接协调操作,因此这些单独会话的详细信息和 控制在内容交换机中必须合二为一,以确保两者在诸如地址转换和服务器选 择之类的机制上保持相同。其次,f t p 是一个应用层协议,它可以将i p 地址 的详细信息嵌入到客户端和服务器之间的应用层应用程序数据的有效载荷 中。 ( 1 ) 主动模式下f t p 的负载均衡 在主动模式f t p 中,客户端打开一个到服务器的f t p 控制连接运行控制 命令,然后服务器打开一个到客户端的f t p 数据连接传输实际的数据,这些 数据可能是任何内容,包括目录清单或者大文件。当要启动该服务器端返回 的连接时,客户端通过所建立的f t p 控制连接发出一个p o r t 命令,向服务 器显示f t p 数据连接应连接的i p 地址和t c p 端口。一旦发出该命令,服务 器将会使用客户端提供的详细信息建立f t p 数据连接,并开始传输数据。在 哈尔滨工程大学硕士学位论文 主动模式下内容交换机的职责如下: 1 ) 在自身与客户端之间实行延时绑定,以便于建立f t p 控制连接的开始 部分。 2 ) 选择一台真实服务器。在自身与真实服务器之间打开一个t c p 连接, 然后将两者连接在一起。 3 ) 接收客户端的p o r t 命令,然后转发送至真实服务器。 4 ) 允许服务器创建一个从内容交换机到客户端的f r p 数据连接,同时确 保将t c p 会话的源m 地址转换为客户端建立的f t p 控制连接指向的同一 v i p 。 ( 2 ) 被动模式下f 1 甲的负载均衡 被动模式的f t p 与主动模式的工作原理不同。在被动模式下是从客户端 到服务器建立f t p 数据连接,这表示f t p 会话的两个通道方向相同。 如果在内容交换机环境中使用被动模式的f t p ,内容交换机必须实现以 下功能: 1 ) 在f t p 控制连接上完成与客户端的延时绑定。 2 ) 选择一个真实服务器,在自身与真实服务器之间打开一个t c p 连接, 并将两者连接在一起。 3 ) 为p a s v 命令解析f 1 甲控制连接,客户端使用该命令来向服务器指明 希望启动一个被动f t p 模式的连接进行数据传输。 4 ) 当服务器发出命令2 2 7 “e n t e r i n gp a s s i v em o d e ”( 进入被动模式) 参数 时,会向客户端显示所要连接的m 地址和t c p 端口,内容交换机必须修改 命令中的应用层信息,并将i p 地址( 与可选的t c p 端口) 更改为v i p 。 5 ) 对于被动的f t p 解析,最后一点非常重要。如果真实服务器位于使用 不可路由的i p 地址的内部子网中,这将在p a s v 应答中传递。如果内容交换 机没有成功地转换服务器的p a s v 应答,客户端将尝试打开一个f t p 数据连 接到错误地址。t 7 1 3 应用层d n s 的负载均衡 实施d n s 负载均衡的主要原因是具有使用多个服务器的能力,另外还提 供了处理“s p l i td n s ”问题的能力。应用层上的d n s 负载均衡是特指对请 求的q u e r y 部分中n a m e 字段的解析。使用该信息,内容交换机可以将该字 段中的变量与指派给每个真实服务器的正则表达式( r e g u l a re x p r e s s i o n ) 和文 哈尔滨工程大学硕士学位论文 字字符串相比较,然后将基于u d p 的请求转发到正确的服务器。因为d n s 一般是基于u d p 的,所以降低了内容交换机的开销,不必在客户端和服务器 之间实施延时绑定。 4 应用层r t s p 负载均衡 ( 1 ) 将实时传送控制协议( r e a l - t i m et r a n s p o r tc o n t r o lp r o t o c o l ,r t c p ) 、 实时传输协议( r e a l - t i m et r a n s p o r tp r o t o c o l ,r t p ) 与实时流协议( r e a l - t i m e s t r e a m i n gp r o t o c o l ,r t s p ) 通路连接在一起 r t s p 连接及随之产生的r t p 和r t c p 流都源于或终于内容交换机上的 虚拟i p ( v m u a li p ,v i p ,用户可见的i p 地址) ,正确的源i p 地址转换将会 给客户端应用带来错觉。 ( 2 ) 解析r t s p 流的u r l f t p 需要i p 地址与t c p 端口的智能解析和转换,而h t t p 则提供了分 离内容类型的能力。应用层的r t s p 则将这些要求和功能结合在一起。m m 综合上面三小节所述,可见目前的负载均衡技术主要为依据报文头中信 息进行负载的调度,没有考虑到报文中数据载荷中的有效负载调度引导信息。 基于内容的专门针对报文内容的负载调度方法尚在研究中,还没有形成成熟 的技术。由于网络的层次化结构使得各个网络层次间相互独立,因而可以认 为在任何一个层次的负载调度算法之前或之后加入对报文内容的检索,从而 进行调度都是可行的,不会影响其它层次的工作。这一思想也是本文实现具 有内容感知能力的负载均衡技术的前提,因而不失一般性。本文所设计和实 现的内容感知负载均衡系统在数据链路层
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古呼伦贝尔农垦集团有限公司招聘笔试题库及答案详解(名校卷)
- 教师招聘之《小学教师招聘》综合练习附参考答案详解【研优卷】
- 2025年内蒙古呼伦贝尔农垦牙克石莫拐免渡河农牧场有限公司招聘笔试参考题库附答案详解(黄金题型)
- 教师招聘之《幼儿教师招聘》考前冲刺训练试卷附参考答案详解【b卷】
- 教师招聘之《小学教师招聘》考试押题密卷附答案详解【培优b卷】
- 教师招聘之《幼儿教师招聘》考前冲刺练习题及参考答案详解(培优)
- 2025年教师招聘之《小学教师招聘》练习题包含答案详解【培优b卷】
- 2025年教师招聘之《幼儿教师招聘》题库及答案详解(网校专用)
- 2025年教师招聘之《小学教师招聘》题库检测试卷及完整答案详解(典优)
- 教师招聘之《小学教师招聘》检测卷讲解【夺分金卷】附答案详解
- 医疗损害责任界定-洞察及研究
- 2025年海南省社区工作者招聘考试笔试试题(含答案)
- (2025年标准)监控维护维修协议书
- 国务院部署实施“人工智能+”行动的意见解读
- 2025海南省通信网络技术保障中心招聘事业编制人员(第2号)考试备考题库及答案解析
- 2025年全国中学生天文知识竞赛考试题库(含答案)
- 2025年人工智能训练师(三级)职业技能鉴定理论考试题库(含答案)
- 2025年发展对象考试题库附含答案
- 基层医院如何做好临床科研课件
- 核电质量保证培训讲义课件
- 九年级英语全册单元测试题全套带答案(人教版新目标)
评论
0/150
提交评论