高寧
(中國人民銀行天津分行,天津300040)
當(dāng)前,越來越多的企業(yè)用戶基于IBM WebSphere Application Server(以下簡(jiǎn)稱WAS)應(yīng)用服務(wù)器搭建業(yè)務(wù)系統(tǒng),實(shí)現(xiàn)電子商務(wù)。隨著業(yè)務(wù)量的增大,企業(yè)對(duì)系統(tǒng)的負(fù)載量和高可用性提出了更多的要求,特別是一些關(guān)鍵業(yè)務(wù),如金融、通信、交通等,要求確保系統(tǒng)24×7×365的可用性。通過WAS的Network Deployment(以下簡(jiǎn)稱ND)版本包含的集群功能,可以實(shí)現(xiàn)包含多個(gè)應(yīng)用服務(wù)器的分布式環(huán)境,確保系統(tǒng)的吞吐量和高可用性。
圖1是WAS ND分布式環(huán)境的體系結(jié)構(gòu),包括單元、節(jié)點(diǎn)、服務(wù)器等基本概念。每個(gè)單元是單一管理域中的一組節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可以有多個(gè)服務(wù)器,但是每個(gè)服務(wù)器的配置文件是單獨(dú)存儲(chǔ)和維護(hù)的。每個(gè)單元可以包含一個(gè)或多個(gè)集群,也可以不包含集群。在分布式環(huán)境中,每個(gè)單元包含多個(gè)節(jié)點(diǎn),這些節(jié)點(diǎn)被統(tǒng)一管理,而且它們的配置文件被中心化到單元主配置文件中。配置管理器負(fù)責(zé)管理這些集中配置文件,并且將任何配置變化同步到每個(gè)節(jié)點(diǎn)上。節(jié)點(diǎn)是服務(wù)器的邏輯組,每臺(tái)機(jī)器上只能有一個(gè)節(jié)點(diǎn),通過節(jié)點(diǎn)代理器同配置管理器通信。在ND環(huán)境中,WAS plugin部署在Web服務(wù)器上,起到負(fù)載均衡的作用,在plugin-cfg文件中可以定義每個(gè)服務(wù)器的權(quán)重,根據(jù)權(quán)重值,plugin決定將一個(gè)請(qǐng)求定向到哪個(gè)服務(wù)器。
WAS集群由一組應(yīng)用服務(wù)器組成,每個(gè)服務(wù)器上部署了同樣的應(yīng)用程序。通過集群可以實(shí)現(xiàn)可擴(kuò)展性(服務(wù)更多客戶,提高吞吐量),負(fù)載均衡(平衡負(fù)載資源,使資源得以有效利用),高可用性(提供故障恢復(fù)和補(bǔ)償機(jī)制,在關(guān)鍵性業(yè)務(wù)中提供容錯(cuò)功能)。WAS ND提供水平集群和垂直集群兩種形式,垂直集群是指同一機(jī)器上部署多個(gè)服務(wù)器,充分利用硬件資源,而水平集群利用多臺(tái)機(jī)器資源,每臺(tái)機(jī)器部署相同的應(yīng)用。
圖2是一種典型的集群架構(gòu)設(shè)計(jì),整個(gè)單元CellTJPBC包含五個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)CellManagerNode部署Deployement Manager,集中管理單元成員;節(jié)點(diǎn)AppANode和AppBNode作為應(yīng)用服務(wù)器節(jié)點(diǎn),分別部署應(yīng)用服務(wù)器AppServerA和AppServerB,并將2個(gè)服務(wù)器構(gòu)成集群AppCluster,具體處理業(yè)務(wù)邏輯;節(jié)點(diǎn)WebANode和WebBNode作為Web服務(wù)器節(jié)點(diǎn),分別部署Web服務(wù)器WebServerA和WebServerB,用于接收用戶請(qǐng)求,并通過plugin配置文件將負(fù)載均衡到集群成員上。
其中,Web服務(wù)器節(jié)點(diǎn)WebANode、WebBNode分別部署在2臺(tái)IBM X3550服務(wù)器上,運(yùn)行SuSE Linux操作系統(tǒng),Web服務(wù)器選擇IBM HTTP Server;Deployement Manager節(jié)點(diǎn)CellManagerNode和應(yīng)用服務(wù)器節(jié)點(diǎn)AppANode部署在同一臺(tái)IBM P550服務(wù)器上,運(yùn)行AIX 5.3操作系統(tǒng);應(yīng)用服務(wù)器節(jié)點(diǎn)AppBNode部署在1臺(tái)IBM P550服務(wù)器上,運(yùn)行AIX 5.3操作系統(tǒng)。
Web服務(wù)器的負(fù)載均衡、可擴(kuò)展、高可用可通過軟件和硬件2種方式實(shí)現(xiàn)。軟件方式可采用WAS組件Edge Components,該組件安裝在Web服務(wù)器上,配置出一個(gè)虛擬IP地址,統(tǒng)一接收外部的Web訪問請(qǐng)求,然后根據(jù)預(yù)先設(shè)定的權(quán)重策略將請(qǐng)求分發(fā)到不同的Web服務(wù)器。硬件方式可采用F5負(fù)載均衡器,該設(shè)備配置出一個(gè)虛擬服務(wù)器,統(tǒng)一接收外部的Web訪問請(qǐng)求,也是根據(jù)預(yù)先設(shè)定的權(quán)重策略將請(qǐng)求分發(fā)到不同的Web服務(wù)器。
WAS集群的擴(kuò)展可在水平和垂直兩個(gè)方向上進(jìn)行,從而充分利用硬件資源,提高系統(tǒng)性能。圖3展示了集群AppCluster在2個(gè)方向上的擴(kuò)展情況,水平方向上整個(gè)單元增加1個(gè)節(jié)點(diǎn)AppCNode,并在其上部署應(yīng)用服務(wù)器AppServerC加入集群,垂直方向上節(jié)點(diǎn)AppANode新部署應(yīng)用服務(wù)器AppServerD和AppServerE并加入集群,節(jié)點(diǎn)AppBNode新部署應(yīng)用服務(wù)器AppServerF加入集群,至此集群AppCluster包含6個(gè)應(yīng)用服務(wù)器,分別部署在3個(gè)節(jié)點(diǎn)上,對(duì)應(yīng)3臺(tái)物理機(jī)器。
電子商務(wù)及電子政務(wù)應(yīng)用系統(tǒng)的發(fā)展已經(jīng)到了一個(gè)新的階段,應(yīng)用系統(tǒng)的成熟度和可用性都達(dá)到了更高的水準(zhǔn)。IBM WAS ND在多應(yīng)用服務(wù)器分布式部署環(huán)境下實(shí)現(xiàn)集群,確保系統(tǒng)的負(fù)載能力和高可用性。在實(shí)際工程的集成與部署工作中需要根據(jù)具體環(huán)境設(shè)計(jì)方案,最大程度地發(fā)揮IBM WAS ND產(chǎn)品的能力,滿足負(fù)載均衡、可擴(kuò)展和高可用的要求。
[1]Carla Sadtler.Web Sphere Application Server V6.1:Technical Overview[M].America:IBM,2006.
[2]Birgit Roehm.Web Sphere Application Server Network Deployment V6:High Availability Solutions[M].America:IBM International Technical Support Organization,2005.
[3]IBM.IBM Http Server,Version 6:User’s Guide[M].America:IBM,2004.
[4]孫其弘.IBM WAS ND分布式網(wǎng)絡(luò)環(huán)境的理解與集群的實(shí)現(xiàn)[OL].http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0705_qihong/,2007-06-07.