鄭志凌 郭李平 范明昊

摘 要 隨著網(wǎng)絡帶寬的逐漸提升,Web服務器的性能逐步成為制約網(wǎng)絡服務質量的瓶頸之一, Web集群系統(tǒng)采用多部服務器聯(lián)合工作,既能在減少成本的前提下提升網(wǎng)絡服務性能,又能解決服務器單點故障等問題。本文研究了Web服務器集群技術,設計并實現(xiàn)了Web集群管理系統(tǒng),能夠有效對Web集群服務器進行管理和配置。
【關鍵詞】Web集群 服務器 管理系統(tǒng) 網(wǎng)絡服務
1 引言
在計算機網(wǎng)絡中,Web服務器的工作是負責在接收到瀏覽器的服務請求時作出響應,為用戶提供Web服務。隨著網(wǎng)絡帶寬的不斷增長,應用復雜性和使用者的增加,Web服務器的系統(tǒng)容量正面臨著巨大的挑戰(zhàn)。單個的Web服務器由于其硬件處理能力提升速度有限,因此成為網(wǎng)絡服務處理能力的瓶頸之一。針對Web服務器硬件的升級更新會導致巨大的開銷,無法保護原來的投資,而且也不是一種真正的解決之道,目前解決Web服務器處理性能的問題主要有兩種方法:
(1)提升服務器的性能,但是這個方法并不能從根本上解決問題,單個服務器的處理能力受到體積、功率等方面的限制,而且在達到一定程度后的提升需要很高的成本,因此性價比和性能的提升度都有很大的限制。
(2)采用Web服務器集群系統(tǒng),集群中多臺性能并不高的Web服務器聯(lián)合工作,構成單一的服務器映像,以提供強大的服務能力。實現(xiàn)通過更低的成本來完成比一臺高性能服務器更多的工作,并且可以同時解決服務器單點故障等問題。
2 Web集群管理系統(tǒng)架構及接口設計
隨著集群技術的發(fā)展,在很多實際應用中已經取代超級計算機來完成更多的計算任務。目前有幾款常用的基于Web的集群管理工具,如Smile Cluster Management System、Webmin等,可以通過命令行操作的方式來完成集群管理的工作,采用類似于編程的使用方式能夠實現(xiàn)更多的操作和功能,卻給用戶帶來了使用復雜、難以操作的問題,因此本文將設計一款基于Windows操作系統(tǒng)的圖形化界面的管理系統(tǒng),為用戶提供友好的使用和管理界面。
2.1 關鍵技術
2.1.1 RMI技術
RMI(Remote Method Invocation,遠程方法調用)是Java的一組擁護開發(fā)分布式應用程序的API,主要作用是對遠程Java對象的調用。RMI使用Java語言接口定義了遠程對象,它集合了Java序列化和Java遠程方法協(xié)議(Java Remote Method Protocol)。RMI使原先的程序在同一操作系統(tǒng)的方法調用,變成了不同操作系統(tǒng)之間程序的方法調用,由于J2EE是分布式程序平臺,以RMI機制實現(xiàn)程序組件在不同操作系統(tǒng)之間的通信。RMI為采用Java對象的分布式計算提供了簡單而直接的途徑,可利用標準Java本機方法接口JNI與現(xiàn)有的和原有的系統(tǒng)相連接,還可利用標準JDBC包與現(xiàn)有的關系數(shù)據(jù)庫連接。
2.1.2 JSP技術
JSP(JavaServer Pages)是一種實現(xiàn)普通靜態(tài)HTML和動態(tài)部分混合編碼的技術,在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件。JSP設計的目的在于簡化表示層,并沒有增加任何本質上不能用Servlet實現(xiàn)的功能。在JSP中編寫靜態(tài)HTML更加方便,不必再用println語句來輸出每一行HTML代碼,借助內容和外觀的分離,頁面制作中不同性質的任何可以方便地分開。通過JSP技術可以將用戶界面與內容兩者剝離,這樣做可以使開發(fā)者對版面進行徹底的改變而避免了對底層內容的復雜的編寫過程,因此Web開發(fā)設計者可以輕松設計出動態(tài)管理頁面。
2.2 系統(tǒng)架構設計
本文設計的管理系統(tǒng)基于Windows操作系統(tǒng),為用戶提供友好的使用和管理界面,具有較強的通用性。管理系統(tǒng)設計的基本思路是通過動態(tài)Web圖形用戶接口,提供一個友好的用戶操作界面,使用戶可以在任何地方通過網(wǎng)絡方便地對集群系統(tǒng)進行管理。Web集群管理系統(tǒng)的服務器端采用的是JSP和Tomcat技術,RMI技術主要用于實現(xiàn)異構系統(tǒng)間的通信。Web集群管理系統(tǒng)架構如圖1所示。
在Web集群管理系統(tǒng)中,用戶通過瀏覽器登錄到管理系統(tǒng)中,發(fā)送服務請求;管理系統(tǒng)中的JSP程序啟動,程序根據(jù)收到的服務請求通過RMI接口調用服務程序;被調用的服務程序對集群節(jié)點進行相關操作;當一系列操作過程結束后,RMI接口將結果返回到管理系統(tǒng)中,并通過瀏覽器展示給用戶。Web集群管理系統(tǒng)采用B/S架構,客戶端界面使用簡單的瀏覽器,用戶通過瀏覽器進行相關操作以及瀏覽結果。
2.3 系統(tǒng)通信接口設計
2.3.1 RMI遠程接口定義
在Java中,遠程對象是實現(xiàn)遠程接口的類的定義,遠程接口聲明每個要遠程調用的方法。在需要創(chuàng)建一個遠程對象的時候,通過傳遞一個接口來隱藏基層的實施細節(jié),用戶通過接口句柄發(fā)送消息即可。
2.3.2 RMI遠程接口實現(xiàn)
遠程對象實現(xiàn)類必須擴展遠程對象java.rmi.UnicastRemoteObject類,并實現(xiàn)所定義的遠程接口。遠程對象的實現(xiàn)類中包含實現(xiàn)每個遠程接口所指定的遠程方法的代碼,必須為遠程對象定義構造函數(shù),準備一個默認構造函數(shù),用它來調用基礎類構造函數(shù)。
2.3.3 系統(tǒng)與負載平衡模塊接口
系統(tǒng)通過setsockopt函數(shù)向該模塊傳遞系統(tǒng)配置數(shù)據(jù),完成系統(tǒng)的配置,實現(xiàn)虛擬服務器和真實服務器地址的添加、修改、刪除操作。
3 Web集群管理系統(tǒng)功能模塊設計
Web集群管理系統(tǒng)的功能模塊主要分為登錄認證、Web服務器管理、用戶管理、平衡器管理和系統(tǒng)診斷預警管理等五個部分,系統(tǒng)功能模塊設計如圖2所示。
(1)登錄認證模塊主要負責用戶以及管理員用戶的登錄和身份認證工作。普通用戶可以登錄系統(tǒng)對系統(tǒng)配置進行查看和了解,管理員用戶通過身份認證后,可以對系統(tǒng)配置和管理項進行全面設置。
(2)用戶管理模塊與其他的系統(tǒng)中用戶管理模式相類似,用戶登錄后可以在這個模塊中對登錄的密碼、登錄記錄等進行管理,管理員還可以進行其他用戶信息的管理。
(3)Web服務器管理模塊可以進行后端Web服務器的添加以及刪除,同時可以對已經添加的Web服務器進行用戶配置。用戶可以通過這個模塊來對Web服務器的工作狀態(tài)以及配置狀態(tài)進行查詢,以便及時對錯誤的配置項以及不正常的狀態(tài)進行更改。但是普通用戶只能進行查詢操作,系統(tǒng)管理員級別的用戶可以在登錄后對服務器進行設置和維護。
(4)平衡器管理模塊的主要功能有集群虛擬IP地址的設定、VIP所處網(wǎng)絡設備端口號選定、應用協(xié)議及其端口號的設置等。管理員通過管理系統(tǒng)可以對當前集群的狀態(tài)進行查看和監(jiān)視,以便可以及時更改系統(tǒng)集群的平衡設置來保證系統(tǒng)處于正常的工作狀態(tài)中。
(5)系統(tǒng)診斷預警管理模塊主要完成系統(tǒng)狀態(tài)的診斷以及報警工作,保證系統(tǒng)的正常運行。
Web集群管理系統(tǒng)中的各個功能模塊通過圖形化管理界面對用戶展示,用戶可以方便的通過管理窗口對Web集群進行管理。圖形化、遠程化的集群管理能更加方便、有效的實現(xiàn)管理操作,提高了用戶使用和運行管理效率。
4 結束語
Web集群的應用越來越廣泛,但是卻沒有一款相對簡單、面向普通用戶的管理系統(tǒng),通過實際的應用測試,本文設計的Web集群管理系統(tǒng)可以利用瀏覽器的窗口化模式對Web集群進行管理,即方便快捷,又減少了用戶在使用過程花費的大量時間和精力,很大程度上滿足了普通用戶的需求。
參考文獻
[1]李新.Web集群服務器及管理系統(tǒng)[D]. 西北大學(碩士學位論文),2004.
[2]李輝.一種Web應用服務器集群管理系統(tǒng)的設計與實現(xiàn)[D].中國科學院軟件研究所(碩士學位論文),2009.
[3]劉芳,吳瓊.基于Web的集群部署管理系統(tǒng)[J].山東理工大學學報(自然科學版),2015,29(2):32-35.
[4]康雷,張樹本,楊堅等.基于B/S模式的GPU集群管理系統(tǒng)設計[J].計算機工程,2015,41(10):6-9.
作者單位
湖南工業(yè)職業(yè)技術學院 湖南省長沙市 410208