(计算机应用技术专业论文)基于dns的应用服务器负载均衡策略的研究和实现.pdf_第1页
(计算机应用技术专业论文)基于dns的应用服务器负载均衡策略的研究和实现.pdf_第2页
(计算机应用技术专业论文)基于dns的应用服务器负载均衡策略的研究和实现.pdf_第3页
(计算机应用技术专业论文)基于dns的应用服务器负载均衡策略的研究和实现.pdf_第4页
(计算机应用技术专业论文)基于dns的应用服务器负载均衡策略的研究和实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)基于dns的应用服务器负载均衡策略的研究和实现.pdf.pdf 免费下载

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

文档简介

东南大学硕士学位论文 摘要 随着w e b 服务器集群越来越多的被i n t e r n e t 服务供应商采用,应用服务器 集群的负载均衡逐渐成为分布式应用研究的热点。负载均衡在不同的需求和环 境中有不同的应用形式,其中,基于d n s 的负载均衡以其简单可行的优点,被 广泛应用于大型网站。不过,目前基于d n s 的负载均衡普遍使用静态调度算法, 在资源利用率、可靠性、可扩展性方面存在许多问题,这些问题影响了网站的 服务质量。因此,改进负载均衡算法,提高应用服务器的服务效率就是一个值 得研究的课题。 本文的主要工作有: 1 针对d n s 负载均衡中存在的缺点,结合负载均衡器群的节点负载处理 方法和域名系统的动态更新机制,提出一种基于d n s 的动态线性负载 均衡策略。该策略以w e b 服务为特定应用,找出服务器节点上会受到 这种应用影响的负载参数,用线性规划的思想将这些负载参数进行线 性计算,得出反映服务器节点负载状态的负载值。根据各个服务器节 点负载值的大小,选择一个负载最轻的作为承担任务的服务器。 2 在对d n s 负载均衡策略进行理论性探讨的基础上,设计了仿真实验来 证明这种策略的优越性。仿真实验模仿真实d n s 服务器的域名解析功 能,加入负载信息维护子模块和调度子模块,使得模拟的d n s 服务器 具备动态负载均衡的功能。此外,仿真实验设计了可以改变请求强度 的客户端程序,用来测试应用服务器在不同强度下的性能。测试实验 以静态轮询算法作对比,根据统计的实验数据,证明在平均服务时间 上,动态线性算法优于静态轮询算法。测试实验的另一个部分对动态 线性算法本身进行性能测试,通过更改不同的负载权重,找出最能影 响应用服务器性能的负载参数。 关键词:负载均衡,d n s ,集群系统,应用服务器 东南大学硕士学位论文 a b s t r a c t l o a db a l a j l c i n gf o ra p p l i c a t i o ns e r v e rc l u s t e rh a sb e c o m eah o ts p o tr e s e a r c h w i t hw 曲一s e r v e rc l u s t e r sa r ea d o p t e db ym o r ea n dm o r ei s p s l o a db a l a l l c i n gh a s d i f f e r e n t a p p l i c a t i o nf o n n s f o rd i 虢r e n tr e q u i r e so re n v i r o r u n e n t s ,a n dl o a d b a l a n c i n gb a s e do nd n s a r ew i d e l yu s e di nl a r g ew e b s i t e sb e c a u s eo fi t sm e r i t so f s i m p l e n e s sa n df e a s i b i l i 够b u ta s i t s s c h e d u l i l l ga l g o r i t l l ma r ec o m m o n l ys t a t i c m e m o d s ,i th a ss o m ep r o b l e m si nr e s o u r c eu s a g e ,r e l i a b i l i t ya n de x p a l l s i b i l i 吼a i l d s e i c eq u a j i t yi sa 蜀民c t e db ym e s ed e m e r i t s s oi tb e c o m ear e s e a r c h a b l es u b j e c tt o i m p r o v el o a db a l a i l c i n ga l g o r i 如na i l dm c r e a s ee m c i e n c yo fa p p l i c a t i o ns e r v e r s m a j o rw o r k so ft h i sp a p e ra r e : 1 a c c o r d i n gt ot h ed e m e r i t si nd n sb a s e dl o a db a l a n c i n g ,ad n sb a s e d d y n a i i l i cl i n e a rl o a db a l a n c i n gs t r a t e g y ( d l ) i sp r o p o s e dc o m b i n e d 诵t h n o d ep r o c e s s i n gm e t h o do fl o a db a l a n c i n gc l u s t e ra n dd y n 刹cu p d a t eo f d o m a i nn a m es y s t e m t h i ss t r a t e g yf o c u s e so nl o a dp a r a m e t e r ss u c ha s c p u u s a g e ,m e m o r yu s a g e ,n e t w o r ki ou s a g e so fa p p l i c a t i o ns e r v e r sb a s e d o nw e bs e r v i c ea n dc o m p u t i n gt 1 1 e mb yal i n e a rm e 也o da n dc o m eo u t 晰m af i n a ll o a dv a l u e a n dl o a db a l a n c e rs e l e c t sas e r v e rw i t hl o 、v e s tl o a dv a l u e t op r o v i d es e i c e 2 s i m u l a t e de x p e r i m e n t sa r ed e s i g n e dt ov e r i 匆a d v a n t a g eo fd ls t r a t e g y b a s i c 缸1 c t i o n so fd n ss e e ra r em a i n t a i l l e da n dl o a di n f o n i l a t i o n m a i n t e n a n c es u b m o d u l ea 1 1 d s c h e d u l i n gs u b m o d u l e a r ea d d e di na s i m u l a t e dd n sp r o 铲a m b e s i d e s ,ar e q u e s ts t r e n g t l la 由u s ta _ b l ec l i e n t p r o 黟锄i sd e s i g i l e dt o s i i i l u l a t ec l i e n t r e q u e s t s r 0 1 1 i l dr o b i n ( r r ) s c h e d u l i n ga 1 1 dd ls c h e d u l i l l ga r ec o m p a r e di i la v e r a g es e r v i c et i m ea n d e x p e r i m e n td a t as h o wt h a tt i m eo fd li ss h o r t e rt l l a nm a to f 雕之a n o t l l e r p a r to fe x p e r i m e l l ti s t o t e s tp e r f b n n a n c eo fd la l g o r i 廿1 1 1 1a n df i n do u t w 1 1 i c hl o a dp a r 锄e t e r ( e s ) i s ( a r e ) m o s t 砌u e n t i a lb y 删u s t l o a dw e i g h t f a c t o r s k e y w o r d s :l o a db a l a n c i n g ,d n s ,c l u s t e rs y s t e m ,a p p l i c a t i o ns e r v e r s 2 东南大学硕士学位论文 图索引 图4 1 基于d n s 的应用服务器集群负载均衡模型结构i6 图5 1 动态线性负载均衡策略的模型2 5 图6 1 基于d n s 的应用服务器负载均衡模型的功能模块结构2 9 图6 2d n s 服务器的功能结构3l 图6 3 负载信息获取原理3 2 图6 4d n s 服务器和客户端程序的流程图3 3 图6 5 实验环境的网络结构3 4 图6 6i i s 服务器的w 3 c 扩充日志文件格式3 6 图6 7i i s 服务器的运行日志3 9 图6 8 调度算法对比测试实验结果4 0 表索引 表5 1 负载均衡算法的优缺点对比2 3 表6 1 实验环境主机配置信息3 4 表6 2 查询间隔与系统开销的对应关系3 5 表6 3 动态线性算法的运行结果数据3 8 表6 4 域名解析请求应答的结果对比3 8 表6 5w 曲服务器的平均服务时间对比3 9 表6 6 对比测试实验的结果数据4 0 公式索引 公式4 1 服务器节点处理能力的计算公式1 9 公式5 1 应用服务器负载加权函数2 6 公式5 2 服务器节点负载计算公式2 7 公式5 - 3 动态线性均衡算法的计算公式2 8 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:生至日期:! :! :三6 。 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学 位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。 本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外, 允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文 的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:亚导师签名:选让 日 期:旦蔓:妄:2 1 j d 东南大学硕士学位论文 1 1 研究背景 第一章绪论 随着i n t e m e t 的飞速发展,各种网络服务的流量呈爆炸式的增长,一些比较 热门的站点会吸引越来越多的用户,根据美国n i e l s o “,n e t r a t i n g s 的报告,2 0 0 5 年1 月,y a h o o ! ! 的月纯访问人数位居首位,已达9 5 ,8 9 5 人忆而根据y a l l o o ! 的 新闻发布,y a h o o ! 当前每天大约发送6 2 5 亿个页面。其他的一些网络服务每天 也需要处理巨大的流量,如a m e r i c a i lo i l l i n e 的w e bc a c h e 系统每天处理5 0 2 亿 个用户访问w e b 的请求,每个请求的平均响应长度为5 5 k b y t e s 。因此,在巨大 的负载压力下,很多网络服务器因为访问次数爆炸式地增长而不堪重负,不能及 时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。 网络流量的剧增带来了i n t e r n e t 的飞速发展以及蕴含其中的巨大的商机,但 同时也给网络带宽和服务器带来巨大的压力。这就需要迅速拓展网络带宽和提高 网络服务器的性能以适应i n t e r n e t 发展的需求。从网络技术的发展来看,网络带 宽的增长非常迅速,如1 0 0 m 以太网,g 比特以太网等不断地涌现,1 0 g 比特以太网 的产品也己经在市场上出现。而另一方面,在高速网络中,服务器的处理能力逐 渐成为提高网络服务能力的瓶颈。 同时,w e b 服务中越来越多地使用动态主页等c p u 密集型应用,这对服务器的 性能有较高要求。未来的网络服务会提供更丰富的内容、更好的交互性、更高的 安全性等,需要服务器具有更强的c p u 和i 0 处理能力。例如,被电子商务供应商 广泛使用的h t t p s ( s e c u r e h t t p ) ,通过它取一个静态页面需要的处理能力比通过 h t t p 高一个数量级乜1 。因此,要提高网络服务能力,从应用本身的发展来考虑也 需要越来越强的服务器处理性能。 另外,大部分网站都需要提供2 4 x 7 的全天候服务,对电子商务网站尤为突出, 任何服务中断和关键性的数据丢失都会造成直接的商业损失。例如,根据d e l l 的新闻发布,d e l l 现在每天在网站上的交易收入为一千四百万美元,一个小时的 服务中断都会造成平均五十八万美元的损失。所以,这对网络服务的可靠性提出 了越来越高的要求。 由此可见,如何建立高性能、高可靠、可扩展的服务器来满足不断增长的负 载需求已成为迫在眉睫的问题。所以,负载均衡集群技术和应用应运而生,它以 高效率,高可靠性和高可用性的优势被越来越多地采用。而作为负载均衡技术应 用之一的基于d n s 的负载均衡,因其为用户提供了域名级的透明运行方式,成为 东南大学硕士学位论文 流行于许多大型网站的负载均衡应用,镜像站点就是其应用之一。基于d n s 的应 用服务器负载均衡的目标是提高服务器集群的处理能力,同时还兼具高可靠性, 高可扩展性,高性能和可管理的特性。 1 2 研究现状 近几年来,关于集群负载均衡的研究一直比较活跃,基于d n s 的负载均衡也 是研究的热点之一。集群负载均衡的的研究包括体系结构和调度算法两个方面。 体系结构包含网络结构、集群类型、应用模式等因素,目前经常被讨论的是异构 服务器集群、单工连接模式的系统口1 ;调度算法从研究静态负载均衡算法转向研 究动态负载均衡算法,近期国内外的研究都表明,动态负载均衡在复杂程度和开 销上比静态负载均衡有所增加,但是系统整体性能的提高却更加显著,因此目前 基于d n s 的负载均衡的研究热点是动态负载均衡的调度算法。 基于d n s 的应用服务器负载均衡的研究在科研机构中较为活跃,由于它所关 联到的问题涉及不同层次和角度,因此其本身就是一个比较开放的课题,国内外 科研工作者在这一领域的成果各有特点,目前研究的热点主要集中于动态负载的 测量和相应算法的改进上。 在产品领域中,负载均衡应用分为硬件负载均衡和软件负载均衡两种。硬件 负载均衡是指由软件为其提供功能的专用交换机或路由器,例如c i s c o 的c s m ( 内 容交换器) ,a r r o w p i o n t 的c s 一1 0 0 和c s 一8 0 0 ,h y d r a w e b 的独立负载均衡设备 h y d r a 2 5 0 0 ,3 c o m 和f 5n e t w o r k s 的内容交换设备等等h 印持负载均衡的d n s 软 件的主流产品是b i n d 系列( b e r k e l e y 工n t e r n e tn a m ed a e m o n ) ,i s c 的最近版 的d n s 软件b 工n d 对负载均衡提供简单的支持,主要采用轮转调度和随机选择调 度算法田1 ,尽管与旧版本相比多出了负载均衡的支持,但是相对于科研领域取得 的进展,负载均衡策略的应用相对保守。不过有胜于无,虽然现在b i n d 软件中 使用的是最简单最基础的调度算法,但是在技术日臻成熟之后,应用软件的支持 也会逐渐完善。 1 3 论文的研究目标和意义 本文以分布式环境下的异构服务器集群和d n s 服务器为研究对象,针对目 前基于d n s 的负载均衡存在的问题,提出一种基于d n s 的动态负载均衡策略, 该策略对d n s 服务器进行负载均衡的功能扩展,并且侧重收集和分析动态的应 用服务器的负载信息,根据动态的负载状况选择提供服务的服务器,从而达到提 东南大学硕士学位论文 高服务器集群服务性能的目的。 本文对d n s 进行了功能扩展,使之成为有效的负载均衡器。这种基于d n s 的 应用服务器集群的负载均衡模型不仅提高了应用服务器集群的性能,同时也为用 户提供了简单,透明的应用,因此是一种有效的负载均衡策略。该模型具有部署 简单,实现代价低的优点,因此对于提高网站的服务性能有一定的应用价值。 1 4 论文结构 论文共有:七章。 第一章是绪论,主要包括研究背景、相关工作和论文结构; 第二章介绍负载均衡技术,包括负载均衡技术的分类,均衡算法等等; 第三章介绍集群系统和域名系统,集群系统着重介绍负载均衡集群,域名系 统除了介绍和域名解析有关的背景知识,还介绍了为实现基于d n s 的负载均衡提 供支持的动态更新机制; 第四章介绍基于d n s 的应用服务器负载均衡策略的模型结构和设计思想; 第 五章重点讨论负载均衡策略,确定负载参数,提出动态线性均衡算法; 第六章是模型实现和仿真实验,讨论理论模型实现的方法和仿真实验设计方 法,并且介绍实验环境和实验方法,最后对测试实验的结果进行分析和讨论; 第七章对论文做出总结,讨论需要继续研究的工作。 东南大学硕士学位论文 第二章负载均衡技术介绍 2 1 概述 在日常生活中,经常可以看到各种各样的需要排队的情况,火车站买票、银 行存取款、食堂就餐等等。其中顾客的到达是随机的,每个柜台服务员的能力大 小是不一样的,处理每位顾客请求所需要的工作量也是不同的。顾客到达后,首 先会观察一下,如果有一个柜台窗口没有人,则该顾客就到该窗口接受服务;如 果所有柜台窗口都有人,则该顾客会选择队伍长度最小( 人数最少) 的队伍排队。 在等待过程中,如果有顾客发现他所处的队伍比其他某一队伍要长,则该顾客可 能会排到更短的队伍中去。如果某一个柜台窗口暂停服务,则该窗口上的顾客会 排到其他队伍上去。如何合理安排柜台窗口数,又保证顾客适当的响应时间,对 于提高系统的效益有很大的影响。 将顾客请求抽象为任务,柜台服务员抽象为分布式计算机系统中的各处理机 节点,那么将这些自然现象抽象到计算机中表述,就是我们通常据说的负载均衡 技术。 负载均衡技术在网络应用中被广泛采用,其中最常见的多服务器共同分担负 载的应用。服务器必须具备提供大量并发访问服务的能力,其处理能力和i 0 能 力已经成为提供服务的瓶颈。显然,单台服务器有限的性能不可能解决这个问题, 一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟 内处理上百万个甚至更多的请求。但若能将多台这样的服务器组成一个系统,并 通过软件技术将所有请求合理分配给所有服务器,那么这个系统就完全拥有每秒 钟处理几百万个甚至更多请求的能力。 然而,这种由多台服务器组成的分布式系统中,常常会出现这样的现象:在 某一时刻,一些服务器的负载比较重,而另外一些服务器的负载却比较轻。均衡 各服务器之间的负载是任务分配与调度的一个主要目标,它能够提高整个系统的 性能。 为了改善系统的性能,通过在多台服务器之间合理地分配负载,使各台服务 器的负载基本均衡,这种服务能力共享的形式,通常被称为负载均衡或负载共享。 负载均衡是一种策略,它建立在现有网络结构之上,能让多台服务器或多条 链路共同承担一些繁重的计算或i 0 任务,从而提供了一种廉价有效的方法来扩 展服务器带宽和增加吞吐量,加强网络数据处理能力,解决网络拥塞问题,实现 地理位置无关性,为用户提供更好的访问质量,提高服务器响应速度,提高服务 东南大学硕士学位论文 器及其他资源的利用率,提高网络的灵活性和可用性。 2 2 负载均衡技术的分类 2 2 1 简介 负载均衡技术是分布式计算研究的热点,在实际应用中也被广泛采用。正是 因为负载均衡技术存在的普遍性,它的表现形式也多种多样,为了表明究竟什么 是负载均衡技术,有必要将它以其表现形式进行分类。 根据0 s 工的网络分层体系模型,负载均衡可以分为基于工p 层的负载均衡,基 于第四层交换的负载均衡,基于h t t p 的负载均衡,基于域名系统的负载均衡和基 于客户端应用的负载均衡;根据负载均衡算法来划分,可以分为静态负载均衡和 动态负载均衡;此外,从负载均衡应用的地理范围来划分,可以分为局域的负载 均衡和广域的负载均衡。 2 2 2 根据分层模型的分类 2 2 2 1 基于i p 层的负载均衡 主要应用n a t 技术( 工p 地址的转换) 。n a t 的网络结构呈现为一种类似防火 墙的私有网结构,n a t 网关将使用内部i p 地址的服务结点池同互联网隔离开来。 服务结点无法和客户端直接通信,不论是请求数据还是应答数据,都需要经过负 载均衡器进行i p 包处理工作。 n a t 中主要的工作就是改写i p 包的源、目的地址信息,使得发向v i p 的请 求数据经过改写后重新指向内部主机;同样内部的应答数据经过负载均衡器改写 后,以v i p 作为源地址发至请求者。这样的模式也称作网络地址转换( 也有叫做 i p 地址伪装) ,在代理服务器、l i n u x 的i p t a b l e s 、透明网关等应用中,都使 用到这种模型口儿8 j ,可以说这是一件比较成熟的技术。 由于使用n a t 方式,要对进入和流出集群的网络包进行改写报头地址的工 作,在负荷比较重的时候会影响整个集群的性能,负载均衡器容易成为瓶颈。 2 2 2 2 基于第四层交换的负载均衡 第四层是t c p ( 传输控制协议) 和u d p ( 用户数据报协议) 所在的协议层。 在第四层中,t c p 和u d p 的数据包包含端口号( p o r tn u m b e r ) ,它们可以唯一 区分每个数据包包含哪些应用协议( 例如h t t p 、f t p 等) 。端点系统利用这种信 东南大学硕士学位论文 息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到 的i p 包类型,并把它交给合适的高层软件。 t c p u d p 端口号提供的附加信息可以为网络交换机所利用,这是第四层交换 的基础。具有第四层功能的交换机能够起到与服务器相连接的“虚拟i p ”( v 工p ) 前端的作用。每台服务器和支持单一或通用应用的服务器组都配置一个v 工p 地 址。这个v 工p 地址被发送出去并在域名系统上注册。 在收到一个服务请求时,第四层交换机通过判定t c p 开始,来识别一次会话 的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这 种决定,交换机就将会话与一个具体的工p 地址联系在一起,并用该服务器真正 的i p 地址来代替服务器上的v 工p 地址。 这种方式与基于i p 层的负载均衡有相似之处,它们都用到了虚拟工p 的概念, 只是实现手段上有协议层次的差别。同样地,第四层交换机是系统性能的瓶颈。 2 2 2 3 基于h t l - p 的负载均衡 这种方式提供了一种对访问流量的高层控制方式。例如常见的w e b 内容交换 技术,它检查所有的h t t p 报头,根据报头内的信息来执行负载均衡的决策。比 如可以根据这些信息来确定如何为个人主页和图像数据等内容提供服务,常见的 有h t t p 协议中的重定向功能等。 h t t p 运行于t c p 连接的最高层。客户端通过恒定的端口号8 0 的t c p 服务直 接连接到服务器,然后通过t c p 连接向服务器端发送一个h t t p 请求。由于负载 均衡设备要把进入的请求分配给多个服务器,因此,它只能在t c p 连接时建立, 且h t t p 请求通过后才能确定如何进行负载的均衡。在h t t p 请求和报文头中有很 多对负载平衡有用的信息。从这些信息中可以获知客户端所请求的u r l 和网页, 利用这个信息,负载平衡设备就可以将所有的图像请求引导到一个图像服务器, 或者根据u r l 的数据库查询内容调用c g 工程序,将请求引导到一个专用的高性能 数据库服务器等等。另外,可以根据h t t p 报头的c o o k i e 字段来使用w e b 内容交 换技术改善对特定客户的服务。 不过,当一个网站的点击率达到每秒上百甚至上千次时,t c p 连接、h t t p 报 头信息的分析的开销以及进程的时延都会变得很大,所以这种方式理论上是可行 的,但在实际中存在严重的效率问题。 2 2 2 4 基于域名系统的负载均衡 在d n s 中为多个地址配置同一个域名,使得查询这个名字的客户机将得到其 东南大学硕士学位论文 中一个地址,从而不同的客户可以访问不同的服务器,达到负载均衡的目的,这 就是基于域名系统的负载均衡口1 。很多知名的w e b 站点都使用了这个技术,包括 y a h o o ! ,s i n a 等站点。 d n s 轮询实现起来简单,无需复杂的配置和管理,但是也存在不少问题:首先, 域名服务器无法知道服务结点是否有效,如果服务结点失效,域名系统依然会将 域名解析到该节点上,造成用户访问失败;其次,由于d n s 有一个数据刷新时间 t t l ( t i m et ol iv e ) 标志,一旦超过这个t t l ,其他d n s 服务器就需要和这个服务 器交互口叫u ,以重新获得地址数据,这就有可能获得不同工p 地址。因此为了使地 址能随机分配,就应使t t l 尽量短,然而将t t l 设置得过短,将使d n s 流量大增, 而造成额外的网络流量2 l ;最后,它不能区分服务器的差异,也不能反映服务器 的当前运行状态。当使用d n s 负载均衡的时候,必须尽量保证不同的客户计算机 能均匀获得不同的地址。由于域名系统没有合适的负载策略,仅仅是简单的轮流 均衡,很容易发生负载倾斜,因此,在动态平衡特性上,d n s 轮询的效果并不理 想。 2 2 2 5 基于客户端应用的负载均衡 这种方式是指在网络的客户端运行特定的程序,该程序通过定期或不定期的 收集各服务器的运行参数:c p u 占用情况、磁盘i o 、内存等动态信息,再根据某 种选择策略,找到可以提供服务的最佳服务器,将本地的应用请求发向它。如果 负载信息采集程序发现服务器失败,则找到其他可替代的服务器作为服务选择。 整个过程对于应用程序来说是完全透明的,所有的工作都在运行时处理。因 此这是一种动态的负载均衡技术。但这种技术存在通用性的问题,因为每一个客 户端都要安装这个特殊的采集程序;并且,为了保证应用层的透明运行,需要针 对每一个应用程序加以修改,通过动态连链库或者嵌入的方法,将客户端的访问 请求能够先经过采集程序再发往服务器,以重定向的过程进行。对于每一个应用 几乎要对代码进行重新开发,工作量比较大。 2 2 3 静态负载均衡和动态负载均衡 负载均衡算法包括两大类:一类是静态负载均衡算法,它不考虑服务器节点 运行时的负载情况,而只是根据预先的决策进行任务请求的分配;另一类是动态 负载均衡算法,它以系统当前的负载情况为依据,可以充分利用系统的处理能力 来减小服务的响应速度,增加整个服务器集群系统的吞吐量。 表面上看,动态负载均衡似乎比静态负载均衡效率更高。但是动态负载均衡 东南大学硕士学位论文 比静态负载均衡的开销大。 2 2 3 1 静态负载均衡 静态负载均衡算法中最简单的是随机选择算法,它的基本思想如下:若客户 请求的到达满足泊松分布,并且平均服务时间满足指数分布,则各个服务器的队 列就都是m l m l 排队系统。如果各个成员服务器是同构的,则按照p 。= 1 n 的概 率为服务器s ;分配请求,如果各个成员服务器是异构n 3 1 的,处理能力分别为c 。, c :,c 。,则以概率 n 只= g y g ,i = 1 ,2 ,n 为服务器s ;分配请求。但是,在实际应用中, 百 影响客户访问频率的因素很多,而且难以预测,因此,静态调度往往不能令人满 意。 2 2 3 2 动态负载均衡 2 2 3 2 1 负载均衡的动态性 负载均衡的动态性表现在两方面,一是任务的计算开销并非总能预测, 例如它可能与没次不同的处理数据有关,所以系统负载会动态变化。二是由 于客户请求的服务的计算量并不总是均匀的,因此占用服务器的处理时间也 不一样长,空闲出来的处理器可以接受新的任务。 一般来说,动态负载均衡算法要考虑系统在实际运行中的负载变化,因 此它比静态负载均衡算法有更高的实用价值。但是,它存在两个值得研究的 问题: 1 已有的动态负载均衡算法采用连接数,任务数等指标来表示负载, 但并不能体现当前服务器节点的负载状况。如果集群系统提供了多 种服务,那么每个服务请求带来的负载量就不同,所以,相同的连 接数或者任务数并不能表示相同的负载。 2 系统在长时间运行下,计算得到的节点负载量无法的到修正,必然 会背离节点的实际负载状况,从而导致负载的不均衡。 因此,需要设计一种有效的算法,以实现以下几个目标: 1 保证系统在长时间运行状态下各个节点的负载不发生较大倾斜; 2 充分利用节点的处理能力; 3 在保障前两个目标的前提下,尽量减小算法复杂度。 东南大学硕士学位论文 2 2 3 2 2 负载均衡的目标 负载均衡的目标:合理和透明的均衡所有节点上的负载,使得所有节点 上的负载( 依据节点的性能) 基本相等,从而达到系统的综合性能最优。 2 2 3 2 3 动态负载均衡算法的分类 从覆盖范围划分,可以分为全局算法和局部算法。全局算法在系统范围 内计算负载,并根据全局情况调整处理器负载:局部算法在邻接节点之间转 移负载。 从控制方式划分,有集中控制,分散控制,开环控制和循环控制。集中 控制由中心控制器负责收集系统状态并做出负载均衡的决定;分散控制将控 制机制分散到系统的多个节点;开环控制算法做决策时不参考过去活动的 结果;循环控制算法记录决策信息并调整自己的参数以保证算法不偏离预定 的功能和运行模式。 从决策方式划分,有适应性方法和非适应性算法。适应性算法是指负载 均衡策略随系统状态而变化;非适应性方法的负载均衡策略不变。 2 2 3 2 4 负载信息的收集 负载信息的收集方式有周期性和非周期性两种。周期性的收集方式会定 期询问或广播服务器的负载状态;非周期性的收集方式只在出现过载或空闲 时才询问或广播服务器的负载状态。 选择何种方式要视具体应用而定,一般来说,可以根据系统开销和负载 状态的实时性这两个因素考虑选择那种收集方式。 负载信息根据收集范围的不同又可以分为全局信息,局部信息和历史纪 录。全局信息有可能获得最优解,但代价可能太大;局部信息获得局部最优 解,但代价通常较小;历史纪录通过对服务器过去进行情况的了解来确定服 务器的负载信息。 2 2 4 根据地理范围划分 负载均衡按各服务器的存放的地理位置又可分为两类:局域的负载均衡和广 域的负载均衡。局域的负载均衡将所有服务器放置在同一个地方,当用户访问时, 均衡器按一定算法,比如,各服务器已有的连接数量,将当前用户分配给其中某 东南大学硕士学位论文 一服务器( 比如连接最少的) ,以提供最高质量的服务;广域的负载均衡将服务 器分放各地,采用异地负载均衡方法,划分区域,各区域内用户连接当地服务器, 当用户访问时,均衡器根据用户相关信息,按照一定算法( 比如地域远近) ,将 服务器分配给它,以分散用户,提高服务质量。 这两类方法都可以起到分散用户,降低大数量用户的压力,增强系统稳定性 的作用。采用第二类方法,则还可以缩短用户访问时网络中间传输时间,因为均 衡器可以选择离用户最近的当地服务器或与用户之间回路时间最短的服务器,从 而提高了服务质量。在访问量非常大时,一般两类方法结合使用,即考虑服务器 的地域分布,也考虑相同距离下的各服务器的处理能力,最终将最好的服务器分 配给用户。 此外,根据服务器服务内容的差异,负载均衡还有两种不同的应用。一种是 在每个服务结点运行一个所需服务程序的独立拷贝,程序的一个拷贝运行在系统 内所有的主机上,诸如w e b ,f t p ,t e l n e t 或e m a i l 服务程序。镜象站点就是这 种方式的实际应用,不过这种方式对用户不是透明的,用户得根据自己的实际情 况选择服务器。而且当一个镜象服务器出现故障时,需要重新修改主页,以免用 户再选择该镜象服务器,这将影响系统的稳定性。另一种方式将不同服务分布在 不同的服务器上,负载均衡器将不同的服务分派到相应的服务器,网络负载就在 这些主机间进行合理分担。 2 3 负载均衡算法 一个负载均衡算法都包含以下三个组成部分: 1 信息策略:制定任务放置策略的制定者使用的负载和任务量,以及信息 分配的方式: 2 传送策略:基于任务和计算机负载,判断是否要把一个任务传送到其它 计算机上处理; 3 放置策略:对于适合传送到其它计算机处理的任务,选择任务将被传送 的目的计算机。 负载均衡的上述三个部分之间是以不同的方式相互作用的。放置策略利用信 息策略提供的负载信息,仅当任务被传送策略判断为适于传送之后才行动。 东南大学硕士学位论文 第三章集群系统和域名系统 3 1 集群系统 3 1 1 集群系统简介 集群系统是一个有多台计算机组成,具备某些共同的功能,承担某些共同 的任务的系统。i n t e r n e t 上的w e b 应用发展迅猛,集群系统已经成为目前解决 服务器超载和提供高性能服务的一种有效手段。 集群系统这种松耦合结构的服务器多机系统具有下列优点: 1 网络服务的工作负载通常是大量相互独立的任务,通过一组服务器共同 工作,可以获得很高的整体性能; 2 组成系统的一组低端服务器和标准网络设备因为大规模生产成本较低, 所以,这种松耦合结构比紧藕合的多处理器系统具有更好的性能价格 比: 3 系统中的结点数目可以增长到几百、几千个,乃至上万个,其伸缩性远 超过单台超级计算机; 4 集群系统在硬件和软件上都有冗余,通过检测软硬件的故障,将故障屏 蔽,由存活结点提供服务,可实现高可靠性。 集群系统的主要目标是通过网络互连实现全系统范围内的资源的共享,同 时通过高效的资源管理和任务调度技术实现资源的有效共享,从而提高资源利 用率,获得高性能n 制。集群系统能够在充分利用现有的计算资源的同时通过较 低的软、硬件代价实现高性能的计算机系统。集群系统一般是多用户 ( m u l t i u s e r ) 、分时共享( t i m e s h a r i n g ) 的系统。 3 1 2 集群系统的分类 最常见的三种集群类型包括高性能科学集群、负载均衡集群和高可用性集群 n 5 | 。在集群的这三种基本类型之间,经常会发生混合与交杂。例如,高可用性集 群可以在其节点之间均衡用户负载,同时仍试图维持高可用性程度。 东南大学硕士学位论文 3 1 2 1 科学计算集群 通常,这种集群主要是为解决复杂的科学问题。它不使用昂贵的并行超级计 算机,而是通过高速链接来连接一组单处理器或双处理器p c 。现在已有一种便宜 的l i n u x 超级计算机问世了,但它实际上是一个计算机集群,其处理能力与真的 超级计算机相当。 3 1 - 2 2 负载均衡集群 负载均衡集群使负载可以在计算机集群中尽可能合理地分摊负载。每个节点 都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。通常, 网络服务器应用程序接受了太多的入网流量,以致无法迅速处理,这时就需要将 流量发送给在其它节点上运行的网络服务器应用,并且可以根据每个节点上不同 的可用资源或网络的特殊环境来进行优化处理。 3 1 2 3 高可用性集群 这种集群的出现是为了使集群的整体服务尽可能可用,以便考虑计算硬件和 软件的容错性。如果高可用性集群中的主节点发生了故障,那么这段时间内将由 备份节点代替它。备份节点通常是主节点的镜像,所以当它代替主节点时,它可 以完全接管其身份,并且因此使系统环境对于用户是一致的。 3 1 3 负载均衡集群的应用 w e b 服务器集群是负载均衡集群的一个重要应用,它是由分布在局域网或广 域网上的众多w e b 服务器主机( 同构或异构) 相互连接而成的一种服务器体系结 构,采用负载均衡策略将到达的请求分配给集群中的某台服务器进行处理。一般 地,集群中的每台服务器都能响应任何客户的请求。 w e b 服务器集群可以分为由局域范围内的多台服务器组成的局域集群和由多 个局域集群在地理上广域分布而形成的广域集群。同单一的w e b 服务器主机相 比,w e b 服务器集群系统具有更高的性价比,以及更好的可扩展性、可靠性和容 错性。w e b 服务器集群需要设计和实现有效的负载均衡机制和策略,将客户的请 求均匀、透明的分配到集群中最适宜的w e b 服务器节点进行处理,从而获得最佳 的服务性能,并且使集群中各台服务器的负载处于均衡状态( 即服务器的负载与 其处理能力成正比) ,使得整个集群系统的效率最高。 东南大学硕士学位论文 目前,国际上许多大型组织都采用将其地理上广域分布的多个局域w e b 集群 站点通过工n t e r n e t 联结为广域集群的方式来满足日益增长的客户需求。在广域 w e b 服务器集群中,用户的请求可以由任意一个集群站点中的任意一台服务器进 行服务。显然,与局域范围内的w e b 服务器集群相比,这种分布于i n t e r n e t 上 的广域集群系统的规模更大,涉及的因素更多,请求分配和负载均衡等控制问题 也更为复杂。 3 1 4 负载均衡集群的类型 负载均衡集群有同构和异构两个类型。同构服务器集群是指集群内的服务器 硬件、软件的配置相同,每个服务器都具有相同的处理能力;异构服务器集群的 服务器则在配置和处理能力上存在差异,在实际的应用中更加普遍,也是本文讨 论的类型。 负载均衡集群系统的异构性又包含两个方面:类型异构:| 生和资源异构性。类 型异构性是指计算节点具有的不同指令集结构和不同操作系统类型;资源异构性 是指计算节点的资源( 主要为c p u 、内存和i 0 资源) 拥有量的不同。后一种类 型在应用中比较普遍。 对于资源异构性的服务器集群,需要有一个统一的尺度来衡量各个节点的处 理能力,通常的处理方法是采用权重向量法n 引,用公式表示如下: c = n i = ( k i a 2 。) 1 7 2 公式中,c 表示服务器结点的处理能力;a 。,a :,a 。分别是选定的负载指标; k 。,k 。,k 。分别是权重。这种计算结点处理能力的方法要求用户事先指定k 。, k 。,k 。的值,用户只能根据经验指定k 的取值,具有相当大的随意性。此外, 在采用定时收集系统负载信息的策略时,存在信息过时问题和信息收集的代价问 题。信息收集代价问题是指任务调度方法带来的性能上的提高与信息收集带来的 系统消耗之间的比较关系,如果信息收集的系统消耗太大,将抵消动态调度带来 的性能上的提高。 3 2 域名系统 3 2 1 域名系统简介 域名系统是关于主机信息的分布式数据库n7 1 。被称为名字服务器( n a m e s e r v e r ) 的程序构成了d n s 客户服务器机制的服务器的一端。名字服务器包 含整个数据库的一部分信息,并使得被称为解析器( r e s o l v e r ) 的客户端程序能 东南大学硕士学位论文 够访问。解析器通常是一些库例程,它们创建查询请求,并通过网络将它们发送 到名字服务器。 d n s 是一种应用层协议,它的主要功能就是获取和提供网上主机的相关信息。 d n s 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树 中的路径。这颗逆向树被我们称为域名空间( d o m a i nn a m es p a c e ) 。域名系统采 取层次结构,类似于计算机的文件系统。 树中每个节点都可以有一个长达6 3 个字符的文本标号( t e x tl a b e l ) ( 不含 “”) 。空标号( 长度为0 ) 是为根保留的。树虫f 任何一个节点的完整域名( d o m a i n n a m e ) 都是从该节点到根的路径上的所有标号的顺序连接。域名总是从节点向根 ( 向上) 的方向读,并用“”来分隔路径上所出现的各个名字( 文本标号) 。 域( d o m a i n ) 是域名空间中的一棵子树。域的名字是这棵子树的最高节点的 域名。最上层是根级域名( t h er o o tl e v e ld o m a i n ) ,由n i c ( n e t w o r ki n f o r m a t i o n c e n t e r ) 负责管理。n 工c 还负责管理跟域名服务器,根域名服务器负责提供下一 级顶级( t h et o pl e v e ld o m a i n ) 域名服务器的相关信息。顶级域名是根级 域名的分支,例如:e d u ,c o m ,g o v 0 r g 和各国英文标准缩写( c n ,u k 等) 。项级域 名代表着该组织的性质或国家,例如,顶级域名为e d u 的是教育机构,顶级域名 为c o m 的是商业组织,c n 代表该组织是中国,等等。 顶级域名分支为二级域名( t h es e c o n dl e v e ld o m a i n ) ,如i b m ,

温馨提示

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

最新文档

评论

0/150

提交评论