负载均衡解决方案设计设计_第1页
负载均衡解决方案设计设计_第2页
负载均衡解决方案设计设计_第3页
负载均衡解决方案设计设计_第4页
负载均衡解决方案设计设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

一、顾客需求本案例公司中现有数量较多的服务器群:

WEB网站服务器

4台

邮件服务器

2台

虚拟主机服务器

10台

应用服务器

2台

数据库

2台(双机+盘阵)但愿通过服务器负载均衡设备实现各服务器群的流量动态负载均衡,并互为冗余备份。并规定新系统应有一定的扩展性,如数据访问量继续增大,可再添加新的服务器加入负载均衡系统。二、需求分析我们对顾客的需求可分以下几点分析和考虑:1.

新系统能动态分派各服务器之间的访问流量;同时能互为冗余,当其中一台服务器发生故障时,其它服务器能即时替代工作,确保系统访问的不中断;2.

新系统应能管理不同应用的带宽,如优先确保某些重要应用的带宽规定,同时限定某些不必要应用的带宽,合理高效地运用现有资源;3.

新系统应能对高层应用提供安全确保,在路由器和防火墙基础上提供了更进一步的防线;4.

新系统应含有较强的扩展性。o

容量上:如数据访问量继续增大,可再添加新的服务器加入系统;o

应用上:如当数据访问量增大到防火墙成为瓶颈时,防火墙的动态负载均衡方案,又如针对链路提出新规定时有关Internet访问链路的动态负载均衡方案等。三、解决方案

梭子鱼安全负载均衡方案总体设计采用服务器负载均衡设备提供本地的服务器群负载均衡和容错,合用于处在同一种局域网上的服务器群。服务器负载均衡设备带给我们的最重要功效是:

当一台服务器配备到不同的服务器群(Farm)上,就能同时提供多个不同的应用。能够对于每个服务器群设定一种IP地址,或者运用服务器负载均衡设备的多TCP端口配备特性,配备超级服务器群(SuperFarm),统一提供多个应用服务。

如图,网络中的四台服务器向顾客提供了三种典型应用,分别为web、mail和ftp服务,因此管理员通过服务器负载均衡设备建立了三个不同的服务器群(Farm),并指定参加每个服务器群的服务器。对于上述这个系统,服务器负载均衡设备的解决方案提供了三级全方面冗余机制:

对于每种应用,如WEB服务,同时有四台机器提供服务,每台机器的状态能够设为regular(正常工作)或backup(备份状态),或者同时设定为regular状态。负载均衡设备根据管理员事先设定的负载算法和现在网络的实际的动态的负载状况决定下一种顾客的请求将被重定向到的服务器。而这一切对于顾客来说是完全透明的,顾客完毕了对WEB服务的请求,并不用关心具体是哪台服务器完毕的。

对于整个服务器系统,资源得到充足的运用和冗余。我们懂得,普通状况下不同应用服务的顾客数目是不尽相似的,对于服务器资源的消耗也有所不同。如果对每一种应用只采用单独的机器提供服务,不仅存在单点故障问题,同时每台服务器的运用也是不均匀的,可能存在大量的WEB请求,使单一的WEB服务器负荷超重;而同时FTP服务器却处在基本空闲状态。这也是一种系统资源的浪费,同时顾客得到的服务也不够快捷。在引入了服务器负载均衡设备的服务器系统中,每台机器的资源得到了充足运用,并减少了单点故障的问题。

负载均衡设备也能够引入冗余备份机制。服务器负载均衡设备设备在网络层次上起到类似"路由器"的作用,并运用专用的集成电路芯片(ASIC)完毕智能的负载分派的工作。它的单点故障问题能够通过在系统中引入另外一台服务器负载均衡设备设备来完毕。但是与普通意义上的冗余备份机制不同,这时两台服务器负载均衡设备是同时处在工作状态,并互相备份的,而不是其中一台处在闲置的Stand-By状态。服务器负载均衡设备通过网络互相监测,一旦其中一台不能正常工作,另一台将接管其全部的任务。整个系统的可扩缩性也是显而易见的:

对于每一种特定服务,管理员能够根据具体的负载状况调配服务器。如果某种服务的负载压力过大,能够考虑在系统中别的服务器上在建立一种该服务的镜像,只要简朴的在对应当服务的服务群中加入一种条目,新加的服务器就能参加到整个服务器群的工作中来了。

系统中引入新的硬件服务器,或某台服务器需要对其硬件进行升级或配备的时候,服务器负载均衡设备能够自动监测到这些变化。对于新加入的服务器,设有Warm-Up的时间,逐步地分派到该台服务器的负载;对于从系统上撤掉的服务器,能够设定一种over的时间值,能够确保在该台服务器上的对话全部结束之后,才将服务器撤下,同时继续把流量分派到其它的服务器上,顾客得到了不间断的服务。

系统中全部服务器的配备,从硬件到操作系统或应用软件都能够是异构的,不影响服务器负载均衡设备的功效发挥。网络提供商能够灵活地进行网络服务器的升级扩容工作。四、为什么选择梭子鱼安全负载均衡机:

高性能:梭子鱼LB440负载均衡机提供业界至强的服务器负载均衡性能,支持每秒100,000的新建连接,900万的并发连接。

梭子鱼负载均衡机会实时地对后台服务器进行基于应用的健康检查,并决定在真实服务器不可用状况下服务如何解决。

采用Cookie的会话保持机制提供会话的完整性,这样能够避免在使用源地址会话保持时,客户端如果是通过统一的代理网关进行访问而造成负载均衡的不均匀,造成某些服务器的连接数远不不大于其它的服务器。

梭子鱼安全负载均衡机独特的无线连接心跳监控方式提供快速切换,是公司多个实时核心业务系统所必需的。

强大的安全保护:梭子鱼安全负载均衡机内置集成了IPS实时安全防护系统,能够检测并阻挡1000多个入侵攻击和DOS攻击。Web服务器集群负载均衡技术的应用与研究侯秀杰

祝永志

孔令鑫(曲阜师范大学计算机科学学院,山东日照276826)

为了提高集群系统对顾客的快速响应与整体吞吐量,必须采用一定的方略将Web访问均衡地分派到集群中的每一种服务器。基于此思想本文针对传统的单机思想给出了一种多机三层构造的负载均衡系统。实验成果表明了它在负载均衡方面的优越性。

核心词

负载均衡;均衡方略;调度算法;Web服务器集群模型

1

引言

Internet的快速增加,特别是电子商务应用的发展,使Web应用成为现在最重要最广泛的应用,Web服务器动态内容越来越流行。现在,网上信息交换量几乎呈指数增加,需要更高性能的Web服务器提供更多顾客的Web服务,因此,Web服务器面临着访问量急剧增加的压力,对其解决能力和响应能力等带来更高的规定,如果Web服务器无法满足大量Web访问服务,将无法为顾客提供稳定、良好的网络应用服务。

由于客观存在的服务器物理内存、CPU解决速度和操作系统等方面的影响因素,当大量突发的数据达成时,Web服务器无法完全及时解决全部的请求,造成应答滞后、请求丢失等,严重的造成某些数据包因延时而重发,使传输线路和服务器的负担再次增加。传统的办法是提高Web服务器的CPU解决速度和增加内存容量等硬件方法但无论如何增加Web服务器硬件性能,均无法满足日益增加的对顾客的访问服务能力。

面对日渐增加的Web访问服务规定,必须对Web服务器按一定方略进行负载分派。运用负载均衡[1]的技术,按照一定方略将Web访问服务分派到几台服务器上,负载解决对顾客透明,整体上对外犹如一台Web服务器为顾客提供Web服务。2

Web负载均衡构造2.1

负载均衡

负载是一种抽象的概念,是表达系统繁忙程度,系统在一段时间空闲,该系统负载轻,系统在一段时间空忙,该系统负载重,影响系统负载的多个因数较多如果存在诸多的数据包同时通过网络连向一台Web服务器,也就是网络的速度比网络所连接的设备速度快的状况下,系统负载不停增加,直到最大。

现在提高Web服务器性能,使其含有较强负载能力,重要有两种解决思想[2]:

1)单机思想

不停升级服务器硬件性能,每当负载增加,服务器随之升级。这随之将带来某些问题,首先,服务器向高档升级,耗费资金较多;另首先,升级频繁,机器切换造成服务中断,可能会造成整个服务中断;最后,每种架构的服务器升级总有一种极限限制。

2)多机思想

使用多台服务器提供服务,通过一定机制使它们共同分担系统负载,对单一的服务器没有太高的性能规定,系统负载增加,能够多增加服务器来分担。对顾客而言,整个系统仿佛是一台单一的逻辑服务器,这样的系统能够提供较强的可扩展性和较好的吞吐性能。

为了适应现在急剧增加的Web访问,有别于传统的单机思想,解决单机思想带来的一系列问题,本文提出了一种基于权值的方略分派负载。2.2

负载均衡实现设备[2]

现在实现负载均衡需要两类的设备:服务器和分派器。

1)服务器(Server)

为顾客提供真正的服务,也就是指给顾客提供负载均衡服务的计算机设备,有关该设备的某些性能数据是负载均衡的重要根据之一。

2)分派器(Dispatcher)

由顾客浏览器、Web服务器构成两层构造Web系统[2],如图1所示,实际是基于客户端的负载均衡。图1

负责给顾客服务分派服务器,分派器的重要功效是根据客户和服务器的多个状况(这些状况要能反映服务器的负载状况或性能状况)通过一定的算法进行调动和分派工作,从而提高由服务器整体构成的网站的稳定性、响应能力。它重要是集中全部的HTTP请求,然后分派到多台Web服务器上解决,来提高系统的解决效率。2.3

负载均衡系统构造2.3.1两层构造的负载均衡系统

在服务器上运行一种特定的程序,该程序相称一种客户端,它定时的收集服务器有关性能参数,如CPU、I/O、内存等动态信息,根据某种方略,拟定提供最佳服务的服务器,将应用请求转发给它。如果采集负载信息程序发现服务器失败,则找其它服务器作为服务选择。这是一种动态负载均衡技术,但是每台服务器上必须安装特定的客户端程序,同时,为确保应用程序的透明性,需要对每个应用进行修改,能够将访问请求通过该客户端程序转发到其它服务器上,重定向方式进行,修改每一种应用程序,工作量十分大。2.3.2三层构造的负载均衡系统

由顾客浏览器、负载均衡和Web服务器构成三层构造Web系统[2],如图2所示。实际是基于服务器的负载均衡。图2

如果将基于客户端的负载均衡中客户端的负载均衡部分移植到一种中间平台,形成一种应用服务器,构成请求、负载均衡和服务器的三层构造,客户端应用不需要做特殊修改,透明的中间层将请求均衡的分布到不同的服务器。

据服务器直接连到Internet与否有两种多Web服务器构造:隔离式(Separation)和非隔离式(Unseparation)。隔离式是服务器不直接连到Internet,如图3所示,非隔离式是服务器直接连到Internet,如图4所示。图3图4

隔离式中只有负载均衡器对外有一种IP地址,全部的请求由负载均衡器分派到不同的WebServer,全部WebServer的返回成果也通过负载均衡器传回给顾客。非隔离式中每一台WebServer都有一种IP地址,顾客请求通过负载均衡器分派到WebServer,而请求的应答不通过负载均衡器,直接传回想客。为了减轻均衡器的负载,本文中采用了三层构造中的隔离方式。2.4

负载均衡实现的办法

Web负载均衡常见算法有[3]:循环调度算法(Round-RobinScheduling)、加权循环调度算法(WeightedRound-RobinScheduling)、最小连接调度算法(Least-ConnectionScheduling)、目的地址散列调度算法(DestinationHashingScheduling)、源地址散列调度算法(SourceHashingScheduling)。

本文采用基于权值的调度算法,也就是说权值大的服务器优先得到调度,本文在实现时是基于静态的权值,就是在开始的时候给每一种服务器配备一种默认的权值。固然也能够根据实际运行状况再对每一种服务器的权值进行调节。但是这需要实时的收集每一种服务器的信息,如服务器的内存实用状况,响应速度等某些信息。3

Web服务器集群环境配备与测试[4][6][9]3.1搭建环境3.1.1软硬件环境的搭建

(1)服务器有4台,一台安装apache,三台安装tomcat。

(2)服务器的操作系统都是WindowsXP。

(3)其中安装apache的服务器充当负载均衡器,其它三台是给顾客真正服务的服务器。

(4)IP配备,一台安装apache的IP为30,三台安装tomcat的服务器IP分别为31/132/133。3.1.2软件的安装与配备

1)安装tomcat的服务器的配备

(1)在三台安装tomcat的服务器上安装jdk。

(2)配备jdk的安装途径,在环境变量path中加入jdk的bin途径,新建环境变量JAVA_HOME指向jdk的安装途径。

(3)在三台要安装tomcat的服务器上分别安装tomcat,调试三个tomcat到能够正常启动。

(4)tomcat的默认WEB服务端口是8080,默认的模式是单独服务,我配备的三个tomcat的Web服务端口修改为7080/8888/9999。

修改位置为tomcat的安装目录下的conf/server.xml在文献中找到下面的语句:<Connectorport="8080"maxHttpHeaderSize="8192"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"

redirectPort="8443"acceptCount="100”connectionTimeout="0"disableUploadTimeout="true"/>

只需改动Port=”8080”为上面提到的端标语就行,对安装tomcat的三个服务器这个文献做改动。

2)负载均衡服务器配备1

(1)在那台要安装apache的服务器上安装apache,我的安装途径为默认C:\ProgramFiles\ApacheGroup\Apache2。

(2)安装后测试apache能否正常启动,调试到能够正常启动http://30。

(3)下载jk2.0.4后解压缩文献。

(4)将解压缩后的目录中的modules目录中的mod_jk2.so文献复制到apache的安装目录下的modules目录中。

(5)修改apache的安装目录中的conf目录的配备文献httpd.conf,在文献中LoadModule模块配备信息的最后加上一句LoadModulejk2_modules/mod_jk2.so。

(6)分别修改三个tomcat的配备文献conf/server.xml在文献中找到下面的语句<Enginename=”Standalone”defaultHost=”localhost”jvmRoute=”jvm1”>只需改动jvmRoute的值,在这里分别改为tomcat1,tomcat2和tomcat3。

3)均衡服务器的配备2

在apache的安装目录中的conf目录下创立文献pertie,写入文献内容以下:#finethecommunicationchannel[channel.socket:30:8009]Info=Ajp13forwardingoversocket#配备第一种服务器tomcatId=tomcat1#要和tomcat的配备文献server.xml中的jvmRoute="tomcat1"名称一致debug=0lb_factor=1#负载平衡因子,数字越大请求被分派的几率越高。类似地再配备其它的服务器。最后加上这样的句子info=Statusworker,displaysruntimeinformation

[uri:/jkstatus.jsp]info=Displaystatusinformationandcheckstheconfigfileforchanges.Group=status:[uri:/*]info=MapthewholeWebappdebug=0

4)安装tomcat的服务器配备2

在三个tomcat的安装目录中的webapps建立相似的应用,我和应用目录名为GroupTest,在三个应用目录中建立相似WEB-INF目录和页面index.jsp,index.jsp的页面的重要内容是打印出为客户服务的服务器的IP地址和端标语,固然尚有其它某些内容,最重要的是这些内容,这样当我们在测试的时候也方便地懂得为其提供服务的服务终究是哪一种服务器,这个信息是非常重要的,这样我们能看出当大量顾客访问的时候我们能懂得负载分派的状况。

5)集群配备

分别修改三个tomcat的配备文献conf/server.xml找到下列面语句开始的地方:<!--<ClusterclassName="org.apache.c

atalina.cluster.tcp.SimpleTcpCluster”<ClusterListenerclassName="org.apache.catalina.cluster.session.ClusterSessionListener"/>

</Cluster>

-->

将最上,最下面的一行都改为<!--modifybywhh-->就能够了。

然后再在Conf目录下建立perties文献,写入下面一行,其中端口为对应的channelSocket.port=8009

6)集群应用配备

对于要进行负载和集群的tomcat目录下的webapps中的应用中的WEB-INF中的web.xml文献要添加以下一句配备<distributable/>到此为止配备完毕剩余的就是测试3.2

环境

温馨提示

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

最新文档

评论

0/150

提交评论