PowerRouter负载均衡方案
来源:中国电子政务网 更新时间:2012-04-15
摘要

   本方案介绍了负载均衡技术的概念,详细阐述了曙光PowerRouter负载均衡系统的功能、特点、体系结构和工作方法,并提出了基于PowerRouter的几种负载均衡解决方案,而且它们主要都是针对Web应用的解决方案。在方案中,用户可以了解到关于静态Web网站、动态Web网站和三层结构Web网站这几种最具代表性的Web应用是如何用PowerRouter来实现负载均衡解决方案,并且它们都适用于什么样的规模,如何实现高可用性和冗余性,对硬件各有什么要求等用户最关心的问题。还介绍了如何实现投资非常有限但又想解决高可用的方案,尽量帮助用户解决他们的实际问题。了解了PowerRouter如何实现负载均衡解决方案,用户可能更想知道PowerRouter负载均衡系统的性能,所以我们基于解决方案进行了测试,并对测试结果进行了详细的分析,得出了它的加速比和性能瓶颈。用户通过本方案可以知道曙光PowerRouter负载均衡系统究竟具有哪些技术优点,它如何使整个服务器集群在用户看来就是一台完整的大服务器。

   目录

   1. 方案背景 4

   1.1. 前言 4

   1.2. 定义 5

   1.3. 负载均衡技术实现的任务 6

   2. 曙光PowerRouter负载均衡系统介绍 6

   2.1. PowerRouter功能简介 6

   2.2. PowerRouter体系结构 7

   2.3. PowerRouter工作方法 8

   3. 曙光PowerRouter负载均衡方案 9

   3.1. 方案简介 9

   3.2. 几种WEB应用解决方案的实现 10

   3.2.1. 小规模的静态WEB网站 10

   3.2.2. 中等规模的动态WEB网站 12

   3.2.3. 较大规模的三层架构的WEB网站系统 13

   3.2.4. 较小规模但又需保证高可用的方案 15

   4. 曙光PowerRouter负载均衡性能分析 16

   4.1. PowerRouter的性能表现 16

   4.2. 系统的性能瓶颈 19

   5. 系统方案技术优点: 20

   6. 附件 20

   6.1. 相关编纂人员介绍 20

   1.  方案背景

   1.1. 前言

   Internet的飞速发展给网络带宽和服务器带来巨大的挑战。从网络技术的发展来看,网络带宽的增长远高于处理器速度和内存访问速度的增长,所以,我们深信越来越多的瓶颈会出现在服务器端。很多研究显示Gigabit Ethernet在服务器上很难使得其吞吐率达到1Gb/s的原因是协议栈(TCP/IP)和操作系统的低效,以及处理器的低效,这需要对协议的处理方法、操作系统的调度和IO的处理作更深入的研究。

   比较热门的站点会吸引前所未有的访问流量,例如根据Yahoo的新闻发布,Yahoo已经每天发送6.25亿页面。一些网络服务也收到巨额的流量,如American Online的Web Cache系统每天处理50.2亿个用户访问Web的请求,每个请求的平均响应长度为5.5Kbytes。与此同时,很多网络服务因为访问次数爆炸式地增长而不堪重负,不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。如何建立可伸缩的网络服务来满足不断增长的负载需求已成为迫在眉睫的问题。

   大部分网站都需要提供每天24小时、每星期7天的服务,对电子商务等网站尤为突出,任何服务中断和关键性的数据丢失都会造成直接的商业损失。例如,根据Dell的新闻发布,Dell现在每天在网站上的交易收入为一千四百万美元,一个小时的服务中断都会造成平均五十八万美元的损失。所以,这对网络服务的可靠性提出了越来越高的要求。

   现在Web服务中越来越频繁使用CGI、动态主页等CPU密集型应用,这对服务器的性能有较高要求。未来的网络服务会提供更丰富的内容、更好的交互性、更高的安全性等,需要服务器具有更强的CPU和I/O处理能力。例如,通过HTTPS(Secure HTTP)取一个静态页面需要的处理性能比通过HTTP的高一个数量级,HTTPS正在被电子商务站点广为使用。所以,网络流量并不能说明全部问题,要考虑到应用本身的发展也需要越来越强的处理性能。

   因此,对用硬件和软件方法实现高可伸缩、高可用网络服务的需求不断增长,而通过高性能网络或局域网互联的服务器集群正成为实现高可伸缩的、高可用网络服务的有效结构。这种松耦合结构的服务器集群系统有下列优点:

   @性能:网络服务的工作负载通常是大量相互独立的任务,通过一组服务器分而治之,可以获得很高的整体性能。

   @性能/价格比:组成集群系统的PC服务器或RISC服务器和标准网络设备因为大规模生产降低成本,价格低,具有最高的性能/价格比。若整体性能随着结点数的增长而接近线性增加,该系统的性能/价格比接近于PC服务器。所以,这种松耦合结构比紧耦合的多处理器系统具有更好的性能/价格比。

   @可伸缩性:集群系统中的结点数目可以增长到几千个,乃至上万个,其伸缩性远超过单台超级计算机。

   @高可用性:在硬件和软件上都有冗余,通过检测软硬件的故障,将故障屏蔽,由存活结点提供服务,可实现高可用性。

   服务器集群由一组或几组完成同样功能的多个服务器组成,而如何在的多个服务器之间实现合理的业务量分配,使之不致于出现一台设备过忙、而别的设备却未充分发挥处理能力的情况,就成了一个问题,负载均衡机制也因此应运而生。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务:解决网络拥塞问题,提供服务器空闲响应,实现地理位置无关性;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免了网络关键部位出现单点失效。

   1.2. 定义

   其实,负载均衡并非传统意义上的“均衡”,一般来说,它只是把有可能拥塞于一个地方的负载交给多个地方分担。如果将其改称为“负载分担”,也许更好懂一些。说得通俗一点,负载均衡在网络中的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人过度疲劳。不过,这种意义上的均衡一般是静态的,也就是事先确定的“轮转响应服务”策略 。

   与轮转响应服务制度不同的是,动态负载均衡通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理分配出去。结构上分为本地负载均衡和全局负载均衡,前一种是指对本地的服务器集群做负载均衡,后一种是指对分别放置在不同的地理位置、在不同的网络及服务器群集之间作负载均衡。

       服务器群集中每个服务结点需要一个服务器程序的独立拷贝,诸如Web、FTP、Telnet或e-mail服务器程序。对于某些服务(如运行在Web服务器上的那些服务)而言,程序的一个拷贝运行在群集内所有的主机上,而网络负载均衡则将工作负载在这些主机间进行分配。对于只有一台主机处理工作负载的服务,针对这些服务,网络负载均衡允许该主机发生故障时将通讯权移至其他主机。

   1.3. 负载均衡技术实现的任务

   在现有网络结构之上,负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务:

   @解决网络拥塞问题,提供服务器空闲响应,实现地理位置无关性

   @为用户提供更好的访问质量

   @提高服务器响应速度

   @提高服务器及其他资源的利用效率

   @避免了网络关键部位出现单点失效

   2. 曙光PowerRouter负载均衡系统介绍

   2.1. PowerRouter功能简介

   PowerRouter是运行于Linux系统的负载均衡系统,具有高度的可用性和扩展性。通过PowerRouter一组服务器(集群)能够对外提供一致的服务,并且集群内部的结构对用户来说是透明的,用户看到的只是一台单独的虚拟服务器。

   PowerRouter有高效的负载均衡机制,所有的核心代码均在操作系统核心态运行,响应快、效率高。转发机制对应用服务完全透明,使用PowerRouter做负载均衡的服务本身不需要做任何特殊的编程。