Web集群管理系统的设计与实现
2016-10-21郑志凌郭李平范明昊
郑志凌 郭李平 范明昊
摘 要 随着网络带宽的逐渐提升,Web服务器的性能逐步成为制约网络服务质量的瓶颈之一, Web集群系统采用多部服务器联合工作,既能在减少成本的前提下提升网络服务性能,又能解决服务器单点故障等问题。本文研究了Web服务器集群技术,设计并实现了Web集群管理系统,能够有效对Web集群服务器进行管理和配置。
【关键词】Web集群 服务器 管理系统 网络服务
1 引言
在计算机网络中,Web服务器的工作是负责在接收到浏览器的服务请求时作出响应,为用户提供Web服务。随着网络带宽的不断增长,应用复杂性和使用者的增加,Web服务器的系统容量正面临着巨大的挑战。单个的Web服务器由于其硬件处理能力提升速度有限,因此成为网络服务处理能力的瓶颈之一。针对Web服务器硬件的升级更新会导致巨大的开销,无法保护原来的投资,而且也不是一种真正的解决之道,目前解决Web服务器处理性能的问题主要有两种方法:
(1)提升服务器的性能,但是这个方法并不能从根本上解决问题,单个服务器的处理能力受到体积、功率等方面的限制,而且在达到一定程度后的提升需要很高的成本,因此性价比和性能的提升度都有很大的限制。
(2)采用Web服务器集群系统,集群中多台性能并不高的Web服务器联合工作,构成单一的服务器映像,以提供强大的服务能力。实现通过更低的成本来完成比一台高性能服务器更多的工作,并且可以同时解决服务器单点故障等问题。
2 Web集群管理系统架构及接口设计
随着集群技术的发展,在很多实际应用中已经取代超级计算机来完成更多的计算任务。目前有几款常用的基于Web的集群管理工具,如Smile Cluster Management System、Webmin等,可以通过命令行操作的方式来完成集群管理的工作,采用类似于编程的使用方式能够实现更多的操作和功能,却给用户带来了使用复杂、难以操作的问题,因此本文将设计一款基于Windows操作系统的图形化界面的管理系统,为用户提供友好的使用和管理界面。
2.1 关键技术
2.1.1 RMI技术
RMI(Remote Method Invocation,远程方法调用)是Java的一组拥护开发分布式应用程序的API,主要作用是对远程Java对象的调用。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。RMI使原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,由于J2EE是分布式程序平台,以RMI机制实现程序组件在不同操作系统之间的通信。RMI为采用Java对象的分布式计算提供了简单而直接的途径,可利用标准Java本机方法接口JNI与现有的和原有的系统相连接,还可利用标准JDBC包与现有的关系数据库连接。
2.1.2 JSP技术
JSP(JavaServer Pages)是一种实现普通静态HTML和动态部分混合编码的技术,在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。JSP设计的目的在于简化表示层,并没有增加任何本质上不能用Servlet实现的功能。在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码,借助内容和外观的分离,页面制作中不同性质的任何可以方便地分开。通过JSP技术可以将用户界面与内容两者剥离,这样做可以使开发者对版面进行徹底的改变而避免了对底层内容的复杂的编写过程,因此Web开发设计者可以轻松设计出动态管理页面。
2.2 系统架构设计
本文设计的管理系统基于Windows操作系统,为用户提供友好的使用和管理界面,具有较强的通用性。管理系统设计的基本思路是通过动态Web图形用户接口,提供一个友好的用户操作界面,使用户可以在任何地方通过网络方便地对集群系统进行管理。Web集群管理系统的服务器端采用的是JSP和Tomcat技术,RMI技术主要用于实现异构系统间的通信。Web集群管理系统架构如图1所示。
在Web集群管理系统中,用户通过浏览器登录到管理系统中,发送服务请求;管理系统中的JSP程序启动,程序根据收到的服务请求通过RMI接口调用服务程序;被调用的服务程序对集群节点进行相关操作;当一系列操作过程结束后,RMI接口将结果返回到管理系统中,并通过浏览器展示给用户。Web集群管理系统采用B/S架构,客户端界面使用简单的浏览器,用户通过浏览器进行相关操作以及浏览结果。
2.3 系统通信接口设计
2.3.1 RMI远程接口定义
在Java中,远程对象是实现远程接口的类的定义,远程接口声明每个要远程调用的方法。在需要创建一个远程对象的时候,通过传递一个接口来隐藏基层的实施细节,用户通过接口句柄发送消息即可。
2.3.2 RMI远程接口实现
远程对象实现类必须扩展远程对象java.rmi.UnicastRemoteObject类,并实现所定义的远程接口。远程对象的实现类中包含实现每个远程接口所指定的远程方法的代码,必须为远程对象定义构造函数,准备一个默认构造函数,用它来调用基础类构造函数。
2.3.3 系统与负载平衡模块接口
系统通过setsockopt函数向该模块传递系统配置数据,完成系统的配置,实现虚拟服务器和真实服务器地址的添加、修改、删除操作。
3 Web集群管理系统功能模块设计
Web集群管理系统的功能模块主要分为登录认证、Web服务器管理、用户管理、平衡器管理和系统诊断预警管理等五个部分,系统功能模块设计如图2所示。
(1)登录认证模块主要负责用户以及管理员用户的登录和身份认证工作。普通用户可以登录系统对系统配置进行查看和了解,管理员用户通过身份认证后,可以对系统配置和管理项进行全面设置。
(2)用户管理模块与其他的系统中用户管理模式相类似,用户登录后可以在这个模块中对登录的密码、登录记录等进行管理,管理员还可以进行其他用户信息的管理。
(3)Web服务器管理模块可以进行后端Web服务器的添加以及删除,同时可以对已经添加的Web服务器进行用户配置。用户可以通过这个模块来对Web服务器的工作状态以及配置状态进行查询,以便及时对错误的配置项以及不正常的状态进行更改。但是普通用户只能进行查询操作,系统管理员级别的用户可以在登录后对服务器进行设置和维护。
(4)平衡器管理模块的主要功能有集群虚拟IP地址的设定、VIP所处网络设备端口号选定、应用协议及其端口号的设置等。管理员通过管理系统可以对当前集群的状态进行查看和监视,以便可以及时更改系统集群的平衡设置来保证系统处于正常的工作状态中。
(5)系统诊断预警管理模块主要完成系统状态的诊断以及报警工作,保证系统的正常运行。
Web集群管理系统中的各个功能模块通过图形化管理界面对用户展示,用户可以方便的通过管理窗口对Web集群进行管理。图形化、远程化的集群管理能更加方便、有效的实现管理操作,提高了用户使用和运行管理效率。
4 结束语
Web集群的应用越来越广泛,但是却没有一款相对简单、面向普通用户的管理系统,通过实际的应用测试,本文设计的Web集群管理系统可以利用浏览器的窗口化模式对Web集群进行管理,即方便快捷,又减少了用户在使用过程花费的大量时间和精力,很大程度上满足了普通用户的需求。
参考文献
[1]李新.Web集群服务器及管理系统[D]. 西北大学(硕士学位论文),2004.
[2]李辉.一种Web应用服务器集群管理系统的设计与实现[D].中国科学院软件研究所(硕士学位论文),2009.
[3]刘芳,吴琼.基于Web的集群部署管理系统[J].山东理工大学学报(自然科学版),2015,29(2):32-35.
[4]康雷,张树本,杨坚等.基于B/S模式的GPU集群管理系统设计[J].计算机工程,2015,41(10):6-9.
作者单位
湖南工業职业技术学院 湖南省长沙市 410208