【delphi开源代码栏目提醒】:网学会员鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“一种应用服务器集群 - 硕士论文”一文,供大家参考学习
华中科技大学 硕士学位
论文一种应用服务器集群 级别:硕士
专业:软
件工程 指导教师:陈长清
20061020 华中科技大学硕士学位
论文 摘要 近几年来,随着网络应用的飞速发展和电子商务范畴的不断扩大,越来越多的关键应用和大
规模的成用是基于J2EE创建的。
不同的企业应用又有各自不同的需求,豫镊霉系统亵辍萃系绫这些关键澎瓣藏要求缀褰瓣霉矮蛙,瑟Google秘Yahoo这撵的大型廉用就需要很好的可扩展性。
在如今这个
联系越来越紧密的世界,赢可用性和良好的可扩展性的煎耍性日益突出,而且已经成为衡量网络服务的
关键。
在设诗痘爱骚务器集群系统辩,着重手为翳终骚务撵供褰胃鼹燕窝霉扩震毪鼹务,同时兼顾容错性。
考虑到在J2EE规范中没脊对集群做出规范,各个应用服务器厂商就使用各自不同的方式来实现集群等
因素,设计的该应用服务器集群系统具有毪徐魄爨、跨鞭务器熬移接往强等褥焦。
在分析主流应用服务器软件平螽集群特性的旗础上,自主开发APBCS(Appconfor PowerBuilder Cluster System)集群系统。
针对正阳软件的APB(Appeon forPowerBuilder)产瑷’捩浚计一个窘潺痘往强熬繁群敝零,蘧予捷霸APB产赫迁移戆Web应用以集群方式部署及运行在不同厂商的服务器环境中。
该实现对于凝它企业级应用谯不同服务器集群中的动态迁移及部署同样具有参考价值。
文中
详细说明了应弱骚务器集群系统串受载均衡、会话复翻、敖簿切换等功戆模块豹实璇溅理及方法,该樵架封装了应用服务器层需鼹处理的底层细节问题,并提供了相应的
接口。
开发人员只需要集中实现特定的商舭逻辑。
关键词: 应用服务器集群,可扩展性,高可用饿,负载均衡,故障切换 l 华中科技大学硕士学位
论文 Abstract With the rapid development of network technology and continuously enlargement ofecomnlerce category,more and more mission-critical and large scale applications are nowrunning on Java 2 Enterprise Edition(J2EE).And different application has its ownrequirement.Those mission—critical applications such as banking and billing ask for morehigh availability(HA),while those large scale systems such as Google and Yahoo ask formore scalability.The importance of hi【gh availability and scalability in today’sincreasingly inter-connected world has become the pivotal part of network services. In the design of application sewer cluster system,focus on providing highavailability and scalability for network service,taking into account fault tolerance.Due tothe lack of support from the J2EE specification,application sewer vendors implementcluaefing differently based there own platform.The design of the application sewercluster system,it has hiigh performance—price ratio,the cross—server features,such astransplantation. Cluster propeay related technologies currently used on application sewer softwareplatforms are analyzed firstly.After that,it present a flexible and customizable APBCS(Appeon for PowerBuilder Cluster System)which supports web applications migrated byAPB product deploy and apply on different sewer platform.The implement also supplyreference value for other enterprise application migrating over different sewer platform.Itdescribes the theory of every modules strategy and the implementing details of theframework in this paper,examples include load balancing,session replication,failover,and SO on.The framework encapsulates the process details of the application server,andthe developers need only to focus on the implementation of business logic,using therelative interfaces provided by the framework.Key words:Application sewer cluster’Scalability,Higll availability,Load balancing, Failover \101G879 独创性声明 本天声锈掰璺交豹学整
论文楚我令入在导颤
指导下遴霉静骚究工作及取褥的研究成采。
器我所知,除文中蠢缀标瞬弓|震翡蠹容磐,本
论文不惫含强谤蕤德个人或集体已经发表或
撰写过的研究成果。
对本文的研究做出贡献的个人和
集体,均己在文中以明确方式标明。
本人完全
意识到本声明的
法律后果由本人承担。
学建谂文搏砻签名:意高砗 日期: 独‘年f0其枷隧 学位
论文版权使用授权攀 本学位
论文幸筝者完全了解学校商关保留、使用学位
论文豹规定,即:学梭有蔹绦蜜著亵毽家鸯关罄粒或辍秘送交
论文戆复印终纛魄警叛,定诲
论文被瓷灏程借圆。
本人授权华中科技大学可懿将本学位
论文的全部或部分内容编入商最数据库进行检索,W以采用影印、缩印溅扫描等复制手段保存和汇编本学位
论文。
保密口,在——年麟密后适用本授投书。
零谂文藩子 举傺密区 (请在以上方椴内打“√’ 学健
论文佟者签名:殷南峰 指导
教师签名:弦岳晴 日期:狮(年fo月妒日 日期:沙6年f口月如日 华中科技大学硕士
学位论文 1绪论1.1课题研究背景1.1.1引言 近几年来,随着计算机应用的飞速发展和电子商务范畴
的不断扩大,传统的单一的服务器系统处理客户请求的能力有限,已经不能处理日益增长的负载。
因为日益
增长的负载对各类信息中心或数据处理
中心的服务器提出了更高的要求,需要它们既能合理接受各种客户端的请求,又要能够在很短的时间内做出响应【“。
例如热门
站点Google和Yahoo,每天都会接受到数以亿计的巨额访问量。
当服务器负载过重时,在
传统的数据信息处理中,就是对服务器进行软、硬件升级,如更换容量更大、处理速度更快的服务器等。
但是这样做至少有以下几
方面的缺I辂12〕: (1)服务器软件或硬件升级造成服务器设备中断一定的时间,对于一些不可中断
的商务应用而言将造成很大的企业损失; (2)软件升级及数据环境的迁移将可能面l晦新的设备是否具有高可靠性与稳
定性的
风险; (3)硬件升级必将购置新的设备抛弃原有的设备资源,这样就为企业造成了资金及资源上的浪费; “)单台服务器的性能总是
有限的,无法应对突发性的高数据量网络请求等
事件,比如同时的
登陆必将造成网络瓶颈。
在这种情况下,新的高性能的应用服务器集群模式也就应运而生,也必将成为
未来网络服务有效架构的主流。
应用服务器集群
的思想是:将多个相互独立的服务器连接到一起,并以单一系统的
模式加以管理,使多个服务器能够像一台机器那样工作,要把到达的服务请求分配到集群中的各台服务器上,让它们均衡的分摊负载,缩短对并发
访问的响应
时间,从而提供高可靠性的服务【3司。
华中科技大学硕士学位
论文1.1.2产品研发背景 二十世纪九十年代,全球企业共投入一万亿美元以上的
资金,用于建设
客户端/服务器应用。
他们使用的是诸如PowerBuilder、VB、Delphi、Oracle Forms等第四代
语言(4GL)工具【61。
如今,这些企业却面l临着很大的难题,那就是如何将这些应用改写成为网络应用。
正是基于这个巨大的市场需求,Appeon研究开发出了一系列的C/s应用网络迁移产品。
这些产品包括:Appeon for PowerBuilder(以下简称APB)一一能将用PowerBuilder开发的C/S应用自动迁移到网络。
Appeon提供的网络迁移方案能够将整个c俗应用自动迁移到网络,它们以C/s应用
的原始
代码为依据,自动映射成多层架
构的Web应用,它对原有的C/S应用进行严格复制,前端是HTML
网页,后端通过应用服务器组件提供服务。
该迁移方案不仅达到C/S应用的可使用性,并具备多层网络架构优越的服务质量。
随着
全球使用APB产品的用户的增多,对经APB产品迁移
后的企业应用提出了更高的要求: (1)系统具有良好的可扩展性一一在一些
大型商业应用系统中,很难提前预知最终用户的数量以及他们的使用
行为。
所以,可扩展性的一个重要
指标就是系统能够快速适应用户数量的增加【”】; (2)系统提供高可用性【10】一一因为许多关键信息系统的故障可能很快造成整个
商业运作的瘫痪,每一分钟的宕机都意味着
收入、
生产和利润的损失,甚至于市场地位的削弱; (3)容错性能好一一可以支持
用户数据的多备份容错,当一个正在处理客户请求的服务器实例失败了,能够仍然保证请求
所得到的数据是
正确的111,12〕; (4)较高的性能价格比一一中小型的企业应用来说,在要求高可用性、可扩展性、容错性的基础上,又
希望较高的性价比113-15l; (5)资源可充分利用一一现有的资源层次不齐,能够将普通PC工作站、工作站或服务器等通过某种方式连接起来构成的多机系统提供企业服务; (6)支持多种类型服务器的灵活性一一具备高可用性、可扩展性以及容错性的
企业应用能够在不同种类的服务器之间进行快速灵活的迁移。
华中科技大学硕士学位
论文1.1.3软件行业
背景 在应用服务器软件平台的集群中,IBM、BEA、SYBASE、ORACLE等厂商都在自身服务器产品的基础上提供了
不同的集群增值功能服务和性能。
但是由于在J2EE规范中没有对集群做出规范,各个应用服务器厂商就使用各自不同的方式来实现集群,这样就给系统架构师和开发
人员带来了很多麻烦。
下面就是常见的一些
问题【16l: (1)带有集群特性支持的商业应用服务器产品
非常昂贵,集群产品的
价格是不含集群支持产品的10倍之多; (2)在单机环境下创建的应用无法在集群环境下正常运行; (3)一个WEB应用在集群环境下运行缓慢,而在单机模式下却
没有什么影响; (4)一个在某服务器集群环境下运行良好的应用,在向其它厂商的应用服务器迁移时会失败; (5)无法对会话信息进行进一步的管理(通常这些都是有容器来实现)。
1.1.4自定义集群系统的提出 基于以上一些客户需求及软件
行业背景的
影响,这就需要基于APB产品自定义的一套集群系统。
本课题旨在通过主流的应用服务器产品(如EAServerI切、Weblogic、JBoss、WebSphere等)来研究
先进的服务器集群特性及技术。
以各应用服务器集群的集群特性为基础,针对正阳软件的APB(Appeon for PowerBuilder)产品现状
设计一个自
适应性强的集群版本,便于使用APB
产品迁移的应用在不同服务器集群中的部署及应用。
该实现
适用于其它企业级应用在不同服务器集群中的部署,或提供参考
价值。
该产品将成为正阳
软件APB迁移产品
的重要组成部分,是电子商务
的基础应用平台研究,旨在通过技术手段
联合较低费用的计算机系统使其获得倍增的服务器性能,满足日益
发展的
电子商务应用的需要。
应用服务器集群技术的
目标是解决WEB请求和处理的负载
平衡,以前的负载均衡技术多用于并行处理系统,将该技术应
用于分御式的
网络环境中,如何采用
合理的自定义会话同步机制,实现应用服务器较高的可用性是服务器集群技术的研究核心。
3 华中
科技大学硕士学位
论文1.2国内外
概况 集群并非是个全新的
概念118l,早在
二十世纪七八十
年代,
美国DEC公司和Tandem
计算机公司就开始了集群的研究工作,开发了基于VMS操作系统的VMScluster集群系统,但它仅限于在DEC的VAX系列与Alpha
系列服务器上使用。
UNIX操作系统因其运行稳定、安全等特性被服务器或工作站普遍使用,因此许多大的公司都采用了基于UNIX的集群系统解决方案,如DEC、HP、SUN、IBM、NCR和DG等公司。
基于WindowsNT的集群系统解决
方案厂商主要有Mircrosoft和DEC。
Microsoft于1995年就
开始了集群系统的开发工作。
Windows 2000中已经增加了集群功能,它主要是在企业级对基于Windows NT服务器的应用程序提供可用性和可升级性。
截止到2005年6月20日,
最新发布
的全世界最强大计算机系统前500名的排名(TOP500)中【19】,就有很多集群系统(291个,占总数的大约58%)。
这
说明了集群系统在TOPS00中已成为数量最多、最为
通用的架构。
近年来,
国内也有不少的企业和机构
开展了对集群系统的
研究与开发
工作。
红旗Linux也相继推出了网络服务器集群系统软件;浪潮
公司推出了集群服务器专用的分配
器设备,英信应用服务器;曙光公司推出的机架式集群服务器;联鼎软件推出的集群软件产品LanderCluster!刎。
在我国的
科研院所中,在集群系统、网络计算及
分布式处
理方面研究较多的单位:
上海大学、
中国科
学研究院、清华大学、华中
科学大学、
南京大学等。
国内自主开发应用服务器集群的厂商不多,东方通科技和金碟软件是最早的两家,比较有
代表性,都是作为产品化的软件在
市场上销售,交给应用开发商和用户使用,而且对集群特性的支持程度有限。
对于集群系统的分类各个研究组织由不同的
分类方法。
按结点的耦合方式分,可分为紧耦合集群和松耦合集群;按控制方式分,可分为集中式集群和非集中式集群;按同构性分,可分为同构集群和异构集群;按安全性分,可分为开放式集群和封闭式集群:这里主要是根据集群在其功能上来划分,分为以下
常见的几类12l】: (1)故障切换集群 故障切换集群(Failover Cluster),通常又称为高可用(High Availability)集 4 华中科技大学硕士学位
论文群,这
种类型的集群广泛用于计算处理环境。
这类集群的主要功能就是避免非
计划的停机提供不间断的服务。
集群中的一个节点失效,它的任务可以传递给其他节点。
可以
有效防止单点失效。
有许多应用程序都
必须一天二十四小时地不停运转,如工业
控制器、ATM、
远程通讯转接器、医
学与军事
监测仪
以及股票处理机等。
对这些应用程序而言,暂时的停机都会导致数据的丢失和灾难性的
后果。
(2)可扩展高性能集群 可扩展高
性能集群,高性能(High Performance Computing)集群,这类集群通过将多台机器
连接起来同时处理复杂的计算问题。
这种类型的集群通过使用
并行中问件来提供可扩展、高性能、负载均衡和高可用性。
它们有时被称为并行集群或高性能计算集群(HPCC),它们对外提供了单一的系统,应用可以
运行于集群的任何一台服务器上。
在联机事务处理(OLTP)与决策支持(DSS)应用这两种典型环境中提供更快的响应时间与更大的事物吞吐量。
模拟星球附近的磁场、天气预报、定位石油储藏的地形分析和生物制药等情况都
需要对大量的数据进行处理。
顾名思义,高性能集群就是采用集群技术来研究高性能计算。
(3)应用
服务器集群 在该
类型的集群中,每个节点
作为一个服务器实例来运行,
一个服务器集群由多个相互操作的服务器实例构成,用以增加应用
程序的扩展性和
可靠性。
每个运行的服务器与其它实例相对独立,应用程序组件被部署在多个集群实例上,指定的组件状态在集群中维持同步。
如果一个节点或一个服务器实例出现故障,集群
中的其他服务器就在第一个服务器的断点处继续工作,从而
维护了可用性和可靠性。
这些组成集群的多个服务器实例可以在相同的物理
系统或者多个
物理系统上运行,但是对于所有
客户机请求,它们作为单一的协作
整体出现。
可以使用服务器集群的一些对象包括SERVLET、JSP、RMI、州s和EJB等。
(4) 网络负载均衡集群 网络负载均衡集群追求的不是
高速的计算能力而是快速的事务(Transaction)处理和响应
能力,同时对系统的高可用性高扩展性有较高的要求〔22,23I。
这种集群系统是随着工Internet
的发展和网络负荷增加而
产生的负载均衡集群往往也
具有一定 5 华中科技大学硕士学位
论文的高可用性特点。
(5)其它类型的集群 集群这个术语被松散地应用与满足指定的
条件,当两个网络组件或两个
存储单元
结合起来提供备份和故障切换的
工具。
两个、多个集群也
可以分散于远处
形成全局集群,一些被广泛认可的其它类型的集群包括:NetApp Filer集群、全局集群等。
如今,集群
技术的研究己
深入到系统硬件、软件、采用的设备
对象、应用的网络层次(指OSI参考模型)、应用的
地理结构以及部署的网络
层次等层次。
服务器集群产品呈现出集成化和软硬
一体化的发展趋势,各服务器厂商积极采取
整合策略,与上下游行业
积极合作,开拓自身
的新业务
领域,开发与原产品相关的系列产品并
完善相关的服务内容,提供给客户高附加值的系统
解决方案。
1.3课题主要研究
内容 APBCS系统(Appeon for PowerBuilder Cluster System)将集群的核心部分与各应用服务器的底层服务分开,由各应用服务器根据客户的部署描述来决定动态加载集群服务。
APBCS系统主要实现的有以下几部分的内容。
(1) 负载均衡算法 课题优先实现三种算法:随机
算法、
循环算法和
自适应策略算法。
无论何种负载分配策略都试图将客户请求尽可能
公平的分配到所有参与到服务器实例上。
自适应策略是为故障重启等造成的负载分配不均而设计的后期动态负载转移策略。
(2)各服务器实例
间的通信 要实现自定义会话的失败
转移,就要实现在各服务器实例
之间的会话备份机制,如何
独立于各应用服务器产品
创建自定义会话的集群
通信也将成为本
论文研
究的重点和难点。
同时还要考虑各实例之间基于应用的一些配置信息的同步。
(3)会话的粘滞性 因为WEB应用都有会话状态记录与
当前用户
相关的信息,所以会话
状态就需要
记录某个
地方并和
浏览器
关联起来,以便下次请求时使用。
对于某一个
确定的会话来说,需要把请求转发到上次请求的服务器实例上,否则可能会导致应用无法使用。
6 华中科技大学硕士学位
论文 (4) 自
定义的会话管理机制 自定义一套会话
管理机制主要有以下考量:①安全性:HttpSession保露在外面,而自定义的AppeonSession可以自定义去选择
是否暴露;②灵活性:相对于服务器管理会话,
自己编写容器
进行管理有更大的灵
活性,可以自定义Session过期机制,使其创建、销毁、丢失等一切都可以自行控制;③销毁机制:事实
验证目前的各个版本的EAServer服务器都
不能很好的销毁HTTPSession实例,造成
内存泄漏。
(5)平台
独立性 相对于本课题在研究应用服务器相关规范白皮书的基础上,参考多家应用服务器的实现策略,
一种新型的、
模块化的集群
框架结构。
它应具有模块化、可配置、易扩展等特点。
是构筑于各应用服务器平台之上的集群,同时又独立于各主流服务器自身的
特性。
7 华中科技大学硕士学位
论文 2应用服务器集群相关技
术的分析 集群由多个部分构成,要设计一个稳定高效的集群系统,需要对集群的每个特性进行仔细分析和研究。
本章将针对不同厂商的集群系统特性展开讨论,研究它们
的实现
原理和技术
思想,为进一步研
究与开发自定义的集群系统奠定基础。
2.1集群概述 所谓集群(Ouster)是指按组划分不相互依赖,而又象一套单一系统一样
对外提供服务的一组服务器。
服务器集群系统通过一定的技术
方法将若干台服务器以一定的方组织起来,
构成一台
逻辑上单一的功能更强的服务器,从而获得比单一服务器系统更大的系统容量和处理能力。
通过增加服务器的方法,还能不断扩充集群系统的容量。
另外,由于系统由
若干台服务器构成,只要每台服务器上部署的内容一致,系
统一般不会因为某台服务器故障而失去服务的能力,具有比单一服务器更好的可靠性。
在本章将首先
总结不同种类服务器集群
特点,接着
介绍了几种主流应用服务器的集群系统,然后针对性的研究两种
核心的集群特性,在此基础上为开发一种全新的服务器集群系统提供参考。
第一章曾经简要
讨论了集群的分类,无论从那种
角度来划分集群,它们都具备以下特点〔24-261: (1)集群都是将
普通Pc机、工作站或服务器通过某种方式连接起来构成的多机系统。
集群系统都具有良好的可用性,即它们都能够在集群的某一部分资源出现故障的情况下继续向用户提供
持续的服务。
几乎
所有的
典型集群都拥有灾难恢复功能。
(2)集群系统有良好的可扩展性。
只需很少的配置工作就可以方便地向集群中
加入或删除工作节点。
(3)典型的集群系统提供了良好的可管
理性。
管理人员通过
简单的操作就可以对集群中的工作节点或控制节点进行配置工作。
(4)集群系统
一般部提供了负载均衡功能。
负载均衡包括静态负载均衡和
动态负 8 华中科技大学硕士学位
论文载均衡,为了最大程度地利用集群中的一切资源,集群需要具有动态负载均衡功能,它能够通过监视集群中的实际节点的负载情况并动态地进行均衡的
改变。
(5)大部分集群系统都有一个中心节点,它能够对集群中的
机器的运行状态进行监视,而且能够根据各机器的负载轻重进行
任务的均衡。
可见集群系统的各种特性已经很好的满足了构建网络服务器所需的可扩展性和可用性的要求,利用集群技术可以构建高性价比的网络服务器。
2.2几种应用服务器集群系统 鉴于应用服务器在
现代信息系统的
地位和
作用,许多著名的rr企业进行了大量
研发工作,推出了各自的产品和系统,市面上
比较流行的EAServer,BEAWebLogic,Webshpere和
开源的JBoss等产品。
每种应用服务器都包含Web服务器和EJB服务器,这些产品为了满足客户对系统可用性、高性能、透明性、可扩展性和灵活性的要求,实现了多实例的Web应用服务器集群系统。
2.2.1 EAServer集群系统 EAServer是Sybase公司企业
门户、
无线服务器、
金融服务器等解决方案的核心产品。
EAServer提供了一组高性能的服务用于web和
分布式应用的部署。
通过对
电子商务基础架构技术的卓越支持,EAServer为企业级
机构提供了电子商务
优势。
Sybase企业应用服务器完全支持J2EE。
EAServer支持所有的J2EE规范,允许企业在它们的电子商务解决方案中部署任何兼容J2EE的应用。
EAServer还支持
流行的非J2EE开发技术如Microsoft公司的COM、C、C++、CORBA和PB组件。
市场上没有其它的应用服务器提供了对如此广泛
的开发
模型的支持。
EAServer集群包括一个主服务器、一组
参与服务器,以及一系列
名称服务器。
它提供的同步功能包含了组件同步、软件包同步、SERVLET同步、应用程序同步和Web应用程序的同步等等。
集群特性实现了负载均衡、组件提交、高可用性、自动组件故障切换、高可用性系统的Failover等集群特性。
针对高.