版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
超級(jí)集群解決方案,第1部分:實(shí)現(xiàn)應(yīng)用程序的最大可伸縮性的技巧使用WebSphereProxyServer和HTTP插件進(jìn)行擴(kuò)展級(jí)別:中級(jí)KevinKepros,咨詢軟件工程師,IBMDr.DebasishBanerjee,WebSphere顧問(wèn),IBM,SoftwareGroup2009年8月26日如果您的應(yīng)用程序的客戶機(jī)負(fù)載壓力非常大,該怎么辦?面對(duì)大量的客戶機(jī)或客戶機(jī)請(qǐng)求,需要使用大量的應(yīng)用服務(wù)器來(lái)處理負(fù)載。這類問(wèn)題的常見(jiàn)解決方案就是利用IBMWebSphereApplicationServerNetworkDeployment集群,但是,如果普通規(guī)模的集群仍然無(wú)法處理所需的應(yīng)用程序負(fù)載,那又該怎么辦?來(lái)自IBMWebSphereDeveloperTechnicalJournal。簡(jiǎn)介對(duì)于大多數(shù)企業(yè)軟件拓?fù)浣Y(jié)構(gòu),應(yīng)用程序可伸縮性是一項(xiàng)重要的服務(wù)品質(zhì)。為了實(shí)現(xiàn)可伸縮性,企業(yè)級(jí)Java?EE應(yīng)用程序通常被部署到IBMWebSphereApplicationServerNetworkDeployment集群中,并在其中執(zhí)行。然而,集群的實(shí)際大小是有限制的。如果集群的規(guī)模還不足以處理所需的應(yīng)用程序負(fù)載,該怎么辦?這個(gè)共分2部分的系列文章介紹了一種有用的技巧,可以在WebSphereApplicationServer中實(shí)現(xiàn)最大程度的應(yīng)用程序可伸縮性,我們將之稱為超級(jí)集群。本系列的第一部分介紹了將應(yīng)用于HTTP插件和WebSphereProxyServer的“超級(jí)集群”技巧。第2部分將討論DMZSecureProxyServerforWebSphereApplicationServer、IBMWebSphereVirtualEnterprise隨需應(yīng)變路由器(ODR),以及IBMWebSphereeXtremeScale。
回頁(yè)首集群為了實(shí)現(xiàn)可伸縮性,企業(yè)級(jí)JavaEE應(yīng)用程序通常被部署到WebSphereApplicationServerNetworkDeployment(此后簡(jiǎn)稱為NetworkDeployment)集群,并在其中執(zhí)行??蛻魴C(jī)請(qǐng)求跨越集群進(jìn)行路由,因此將在所有應(yīng)用服務(wù)器進(jìn)程之間分配工作負(fù)載。
圖1.分布在集群成員之間的客戶機(jī)請(qǐng)求
您可以點(diǎn)擊如下鏈接,馬上下載WebSphereApplicationServer軟件v7版本,體驗(yàn)其為您帶來(lái)的新特性及新功能。WebSphereApplicationServerforDevelopersv7(完全免費(fèi))WebSphereApplicationServerv7試用版WebSphereApplicationServerExpressv7試用版WebSphereApplicationServerHypervisorEdition試用版(虛擬映像)更多關(guān)于WebSphereApplicationServer的技術(shù)資源,請(qǐng)參考:WebSphereApplicationServer產(chǎn)品專題:為您提供了WebSphereApplicationServer相關(guān)的文章、教程、多媒體課堂等最新技術(shù)資源。WebSphereApplicationServerV7專題:為您總結(jié)了與WASV7相關(guān)最新的內(nèi)容和資源,其中包括入門介紹及開(kāi)發(fā)技巧、配置與管理、遷移、監(jiān)控與測(cè)試等。親緣性(affinity)如果應(yīng)用程序使用無(wú)狀態(tài)的方式進(jìn)行設(shè)計(jì),則請(qǐng)求將被路由到包含已部署應(yīng)用程序的任意NetworkDepoloyment集群成員中(無(wú)請(qǐng)求親緣性)。然而,根據(jù)協(xié)議和應(yīng)用程序設(shè)計(jì),客戶機(jī)請(qǐng)求可以與特定的NetworkDeployment集群成員具有一種親緣性。例如,一個(gè)HTTP會(huì)話可能會(huì)在處理第一個(gè)請(qǐng)求的集群成員中創(chuàng)建,因此該客戶機(jī)的所有后續(xù)請(qǐng)求應(yīng)當(dāng)發(fā)送到相同的集群成員。親緣性例子包括HTTP會(huì)話與HTTP協(xié)議的親緣性、SIP會(huì)話與SIP協(xié)議的親緣性、IIOP的事務(wù)親緣性,等等。大多數(shù)路由器組件在向集群成員(應(yīng)用服務(wù)器)轉(zhuǎn)發(fā)請(qǐng)求時(shí)都可以維護(hù)相應(yīng)的親緣性。故障轉(zhuǎn)移除可伸縮性以外,將應(yīng)用程序部署到NetworkDeployment集群可以提供高可用性。如果其中一個(gè)集群成員失敗,則路由器可以將客戶機(jī)請(qǐng)求傳遞到其他集群成員上的應(yīng)用程序中。使用會(huì)話故障轉(zhuǎn)移機(jī)制將在出現(xiàn)HTTP或SIP會(huì)話時(shí)提供透明的故障轉(zhuǎn)移機(jī)制。管理盡管理論上可以使用非集群式的NetworkDeployment實(shí)例在上文提到的模式中獲得可伸縮性,但是使用NetworkDeployment集群將提供巨大的管理優(yōu)勢(shì)。與部署在非集群式NetworkDeployment實(shí)例中的應(yīng)用程序相比,集群式NetworkDeployment實(shí)例中的應(yīng)用程序在啟動(dòng)、停止、安裝、卸載或更新方面得到了簡(jiǎn)化。事實(shí)上,部署在非集群式NetworkDeployment實(shí)例中的應(yīng)用程序的管理是一個(gè)容易出錯(cuò)的過(guò)程。集群規(guī)模限制IBMWebSphereApplicationServerV6.0引入了一個(gè)稱為高可用性管理器(HAM)的組件。該組件同時(shí)提供了稱為核心組(coregroup)的新配置屬性。雖然對(duì)高可用性管理器和所有相關(guān)功能的討論超出了本文的范圍,但是核心組構(gòu)建規(guī)則會(huì)對(duì)集群規(guī)模的限制產(chǎn)生影響,因此需要對(duì)核心組有一個(gè)基本的了解:核心組核心組指一個(gè)靜態(tài)的高可用性域,其中包含一組緊密耦合的WebSphereApplicationServer進(jìn)程。WebSphereApplicationServercell中的每個(gè)進(jìn)程都是核心組的一員。核心組進(jìn)程建立通向彼此的網(wǎng)絡(luò)連接,并使用這些連接監(jiān)視和判斷某個(gè)進(jìn)程是否正在運(yùn)行,或者發(fā)生故障。核心組的所有成員以網(wǎng)狀拓?fù)浣Y(jié)構(gòu)彼此連接,如圖2所示。
圖2.核心組中的WebSphereApplicationServer進(jìn)程
JVM之間的緊密耦合提供了較低的消息延遲(任何成員之間只有一個(gè)網(wǎng)絡(luò)跳轉(zhuǎn))和快速的故障檢測(cè)。然而,充分互聯(lián)的拓?fù)浣Y(jié)構(gòu)也較大地限制了核心組的可伸縮性。因此,核心組不能像cell那樣進(jìn)行同等程度的伸縮,并且較大的cell需要?jiǎng)澐譃槎鄠€(gè)核心組。根據(jù)特定WebSphereApplicationServer環(huán)境在核心組之間的通信需求,各個(gè)核心組需要使用核心組橋接服務(wù)(coregroupbridgeservice,CGBS)連接在一起。
圖3.大型WebSpherecell中的多個(gè)核心組
核心組構(gòu)建規(guī)則良好構(gòu)建的核心組應(yīng)當(dāng)遵循核心組構(gòu)建規(guī)則進(jìn)行創(chuàng)建,如WebSphereApplicationServerInformationCenter(參考參考資料)中所述。其中一條構(gòu)建規(guī)則表明,一個(gè)WebSphereApplicationServer集群不能超出一個(gè)核心組。換言之,集群中的所有成員必須是同一核心組中的成員。這條規(guī)則意味著WebSphereApplicationServer集群的最大大小潛在地受到核心組最大大小的限制。
圖4.集群必須是核心組的子集
核心組大小限制如果包含有過(guò)多成員的話,核心組可能無(wú)法正常工作。核心組成員的精確數(shù)量限制取決于多個(gè)因素,包括可用的CPU資源、內(nèi)存資源、網(wǎng)絡(luò)帶寬、應(yīng)用程序數(shù)量、應(yīng)用程序類型,等等。因此,無(wú)法定義一個(gè)精確的限制。然而,如果要制定計(jì)劃,IBM提供了以下指導(dǎo)原則:WebSphereApplicationServerV:當(dāng)接近50個(gè)成員時(shí),考慮使用多個(gè)核心組。WebSphereApplicationServerV6.1或V7.0:當(dāng)接近100個(gè)成員時(shí),考慮使用多個(gè)核心組。注意,以上僅僅是一些指導(dǎo)原則,并且只有對(duì)您自己的拓?fù)浣Y(jié)構(gòu)進(jìn)行了測(cè)試才能確定具體的限制。但是,這些指導(dǎo)原則表示一個(gè)NetworkDeployment集群的最大大小應(yīng)當(dāng)被限制為50到100個(gè)成員之間。挑戰(zhàn)您已經(jīng)看到,NetworkDeployment集群的最大大小受到核心組的最大大小的限制,這意味著集群的最大大小被限制為50到100個(gè)成員之間,具體取決于硬件、拓?fù)浣Y(jié)構(gòu)、應(yīng)用程序等因素。這是一個(gè)可伸縮的數(shù)量,可為大多數(shù)應(yīng)用程序提供足夠的伸縮性。然而,如果應(yīng)用程序需要極端的可伸縮性,該怎么辦?如果應(yīng)用程序的可伸縮性需求要求部署到超過(guò)隱含限制的集群中,又該怎么辦?如何將應(yīng)用程序部署到大量NetworkDeployment實(shí)例中,同時(shí)又能盡量保留單一集群部署的管理優(yōu)勢(shì)?答案就是超級(jí)集群。
回頁(yè)首超級(jí)集群雖然應(yīng)用程序的可伸縮性需求很少會(huì)超過(guò)單個(gè)WebSphereApplicationServer集群的處理能力,但是確實(shí)存在這樣的情況。對(duì)于這些場(chǎng)景,可以使用一種技巧來(lái)解決這種隱含的集群大小限制,那就是定義一個(gè)超級(jí)集群或“集群式集群”的拓?fù)浣Y(jié)構(gòu)。超級(jí)集群就是指一種具有層次結(jié)構(gòu)的集群,您可以將其看作是典型WebSphereApplicationServer集群的一般化。
圖5.具有層次結(jié)構(gòu)的超級(jí)集群
對(duì)于具有某種抽象程度的集群式拓?fù)浣Y(jié)構(gòu),某些類型的路由器組件將把客戶機(jī)請(qǐng)求轉(zhuǎn)發(fā)給部署在集群中的應(yīng)用程序??紤]將應(yīng)用程序部署到多個(gè)集群中,這樣每個(gè)集群將具備以下特征:每個(gè)集群都屬于它自身的核心組。包含數(shù)量適中的成員。如果路由器可被配置為將客戶機(jī)請(qǐng)求轉(zhuǎn)發(fā)給每個(gè)集群中的成員,則就可以有效地解決集群大小受限的問(wèn)題。理想情況下,您希望路由器執(zhí)行一個(gè)合理的負(fù)載平衡策略,同時(shí)維護(hù)必要的服務(wù)器親緣性。因此,典型的超級(jí)集群將執(zhí)行如下操作:將一個(gè)應(yīng)用程序部署到多個(gè)集群(或集群式集群)。使用相應(yīng)的路由器分發(fā)客戶機(jī)請(qǐng)求,這樣,從客戶機(jī)的角度來(lái)看,具有兩層結(jié)構(gòu)的集群看上去就像是一個(gè)扁平結(jié)構(gòu)的單層傳統(tǒng)WebSphereApplicationServer集群。正如您所料,超級(jí)集群受到以下幾個(gè)限制:目前,超級(jí)集群化技術(shù)只能應(yīng)用于HTTP協(xié)議,而對(duì)于IIOP或SIP等其他協(xié)議是無(wú)效的。對(duì)于HTTP協(xié)議,某些路由器將自動(dòng)把請(qǐng)求轉(zhuǎn)發(fā)給部署在多個(gè)集群的應(yīng)用程序,而其他路由器則需要手動(dòng)修改路由數(shù)據(jù),才能夠?qū)⒖蛻魴C(jī)請(qǐng)求分發(fā)到部署在多個(gè)集群中的應(yīng)用程序。與傳統(tǒng)集群中的應(yīng)用程序部署不同,超級(jí)集群中的應(yīng)用程序部署并不是一個(gè)單步過(guò)程,而是涉及到多個(gè)步驟。為了演示超級(jí)集群的使用,現(xiàn)在假設(shè)一個(gè)應(yīng)用程序需要運(yùn)行在包含120個(gè)成員的集群中,從而滿足客戶機(jī)負(fù)載需求。對(duì)于這個(gè)例子,可以創(chuàng)建三個(gè)新的核心組,在每個(gè)核心組中創(chuàng)建一個(gè)包含40個(gè)成員的集群,然后將應(yīng)用程序部署到這三個(gè)集群中。假設(shè)使用的是熟悉的HTTP插件路由器,生成的超級(jí)集群拓?fù)浣Y(jié)構(gòu)類似于圖6。
圖6.包含120個(gè)成員的超級(jí)集群
如前所述,在超級(jí)集群拓?fù)浣Y(jié)構(gòu)中可以使用各種各樣的路由器。下一小節(jié)將具體介紹如何配置和使用各種不同的路由器,以及它們的限制和局限性。所有示例都基于WebSphereApplicationServerV7。
回頁(yè)首HTTP插件本節(jié)介紹了如何設(shè)置和配置超級(jí)集群,使用的路由器為WebSphereApplicationServerHTTP插件??紤]到本文的目的,請(qǐng)參考圖7所示的包含兩個(gè)集群的示例。
圖7.使用HTTP插件的超級(jí)集群
為了將樣例數(shù)據(jù)保持在一個(gè)合理的范圍內(nèi),對(duì)樣例拓?fù)浣Y(jié)構(gòu)故意施加了限制。然而,這里介紹的技巧可以很容易進(jìn)行擴(kuò)展,從而能夠應(yīng)用到更大型的拓?fù)浣Y(jié)構(gòu)中。配置使用HTTP插件路由器的超級(jí)集群拓?fù)浣Y(jié)構(gòu)的基本步驟包括:創(chuàng)建一個(gè)WebSphereApplicationServer集群。將應(yīng)用程序安裝到集群中。測(cè)試和檢驗(yàn)應(yīng)用程序。創(chuàng)建額外的WebSphereApplicationServer集群。將應(yīng)用程序模塊映射到每個(gè)集群。生成HTTP插件文件(plugin-cfg.xml)。編輯plugin-cfg.xml文件,以將請(qǐng)求路由到多個(gè)集群中。將修改后的plugin-cfg.xml文件復(fù)制到相應(yīng)的Web服務(wù)器位置。這些步驟中的大部分都屬于標(biāo)準(zhǔn)WebSphereApplicationServer管理任務(wù)(創(chuàng)建集群、安裝應(yīng)用程序、生成插件等等),并且執(zhí)行這些任務(wù)的說(shuō)明已經(jīng)被很好地歸檔到WebSphereApplicationServerInformationCenter中。然而,其中兩個(gè)步驟——即步驟5和步驟7——需要進(jìn)行一些解釋。讓我們仔細(xì)查看這些“有些陌生”的步驟,看看這個(gè)簡(jiǎn)單示例涉及了哪些內(nèi)容。將應(yīng)用程序模塊映射到多個(gè)集群考慮兩個(gè)WebSphereApplicationServer集群,稱為Cluster1和Cluster2:每個(gè)集群包含兩個(gè)成員(圖8)。
圖8.包含兩個(gè)集群的拓?fù)浣Y(jié)構(gòu)
“Ping”(圖9)是一個(gè)簡(jiǎn)單的JavaEE應(yīng)用程序,它被部署到Cluster1中。
圖9.Ping應(yīng)用程序
這里的目的是從Ping應(yīng)用程序中將應(yīng)用程序模塊映射到Cluster1和Cluster2。具體做法是通過(guò)使用管理控制臺(tái)訪問(wèn)Ping應(yīng)用程序的配置頁(yè)面。要管理應(yīng)用程序模塊,從Ping應(yīng)用程序配置頁(yè)面(圖10)中選擇ManageModules鏈接。
圖10.Ping應(yīng)用程序配置
從ManageModules配置模板(圖11)中,您應(yīng)當(dāng)能夠?qū)?yīng)用程序模塊映射到部分或所有已配置的集群和服務(wù)器。要將應(yīng)用程序模塊映射到多個(gè)目標(biāo):選擇需要映射的模塊。選擇一個(gè)或多個(gè)集群或服務(wù)器(提示:按住CTRL鍵以選擇多個(gè)目標(biāo))。單擊Apply按鈕。查看映射,如果滿意的話就單擊OK。保存并同步修改。
圖11.Ping應(yīng)用程序–管理模塊
注意,除了這兩個(gè)集群外,應(yīng)用程序的Web模塊也被映射到一個(gè)Web服務(wù)器。這是因?yàn)樵谶@個(gè)例子中,Web服務(wù)器被配置為一個(gè)未管理的節(jié)點(diǎn),并且WebSphereApplicationServer被用于管理Web服務(wù)器。圖11描述了Ping應(yīng)用程序的模塊被映射到全部?jī)蓚€(gè)已配置集群Cluster1和Cluster2。應(yīng)用程序模塊被映射到多個(gè)集群后,可以繼續(xù)生成并編輯plugin-cfg.xml文件,下面將進(jìn)行介紹。編輯plugin-cfg.xml文件一旦將應(yīng)用程序模塊映射到多個(gè)集群后,下一步就是生成插件配置文件(plugin-cfg.xml),該文件供HTTP插件代碼用于路由HTTP請(qǐng)求。如果您曾經(jīng)使用過(guò)HTTP插件,則應(yīng)該對(duì)生成HTTP插件配置文件的過(guò)程很熟悉。這個(gè)過(guò)程已有大量詳細(xì)解釋,因此這里不再累述。實(shí)際上,可以在WebSphereApplicationServer管理控制臺(tái)中使用多種選項(xiàng)來(lái)根據(jù)已配置的拓?fù)浣Y(jié)構(gòu)生成該文件。圖12描述了根據(jù)應(yīng)用程序部署拓?fù)浣Y(jié)構(gòu)生成的plugin-cfg.xml文件的有關(guān)片段,其中Ping應(yīng)用程序被映射到已配置的兩個(gè)集群。注意,plugin-cfg.xml文件包含兩個(gè)集群的定義,每個(gè)集群包含兩個(gè)成員。
圖12.包含ServerCluster定義的plugin-cfg.xml
HTTP插件路由器將根據(jù)客戶機(jī)請(qǐng)求(URL)和plugin-cfg.xml文件中包含的信息作出路由決策??蛻魴C(jī)請(qǐng)求為HTTP插件路由器提供以下信息:主機(jī)名端口URIHTTP插件實(shí)現(xiàn)將解析plugin-cfg.xml文件的內(nèi)容,查看可以適當(dāng)處理客戶機(jī)請(qǐng)求的相應(yīng)目標(biāo)。HTTP路由器將請(qǐng)求發(fā)送給它所找到的第一個(gè)匹配目標(biāo)。對(duì)于集群,HTTP路由器將客戶機(jī)請(qǐng)求發(fā)送給ServerCluster元素中內(nèi)嵌的所有Server因素。路由器并不會(huì)檢查Server(s)是否確實(shí)來(lái)自于已配置的WebSphereApplicationServer集群。在路由請(qǐng)求時(shí),HTT路由器將對(duì)負(fù)載分配使用指定的LoadBalance策略,同時(shí)維護(hù)會(huì)話親緣性。編輯plugin-cfg.xml文件的主要目的是使HTTP插件路由器相信,分層(超級(jí))集群中的所有成員都屬于一個(gè)傳統(tǒng)的(扁平式)集群。因此,編輯過(guò)程包含以下步驟:確定默認(rèn)情況下將對(duì)應(yīng)用程序請(qǐng)求使用哪一個(gè)集群。將另一個(gè)集群的服務(wù)器條目復(fù)制到plugin-cfg.xml文件中默認(rèn)處理客戶機(jī)請(qǐng)求的集群中。判斷目標(biāo)集群的最簡(jiǎn)單方法就是對(duì)應(yīng)用程序進(jìn)行測(cè)試。即使您的應(yīng)用程序模塊被映射到多個(gè)集群,默認(rèn)情況下只有一個(gè)集群被用來(lái)處理應(yīng)用程序請(qǐng)求。通常情況下,這個(gè)集群是plugin-cfg.xml文件中最后定義的集群。一旦確定了默認(rèn)的目標(biāo)集群,您需要將另一個(gè)集群中的服務(wù)器條目復(fù)制到默認(rèn)集群中。從所有其他ServerCluster元素中將Server元素復(fù)制并粘貼到默認(rèn)目標(biāo)集群中的相對(duì)應(yīng)的ServerCluster元素。從所有其他PrimaryServers元素中將ServerName元素復(fù)制并粘貼到默認(rèn)目標(biāo)集群中的相對(duì)應(yīng)的PrimaryServers元素。圖13展示了更新后的plugin-cfg.xml文件中的有關(guān)部分,它將來(lái)自Cluster1和Cluster2的成員合并在一起來(lái)創(chuàng)建一個(gè)超級(jí)集群。
圖13.plugin-cfg.xml-超級(jí)集群–Cluster2
在上例中,默認(rèn)的目標(biāo)集群為Cluster2。因此,Server和ServerName元素被從Cluster1復(fù)制到Cluster2中。由于修改后的plugin-cfg.xml文件被放在合適的位置,因此HTTP插件路由器將跨越超級(jí)集群的所有四個(gè)成員分發(fā)請(qǐng)求。要在超級(jí)集群的所有成員之間實(shí)現(xiàn)均衡的負(fù)載平衡,可以修改超級(jí)集群成員的LoadBalanceWeight屬性。對(duì)于這個(gè)特定的例子——假設(shè)所有超級(jí)集群成員都具有類似的容量——您可以使用1000、999、998和997作為L(zhǎng)oadBalanceWeight屬性的值,從而實(shí)現(xiàn)循環(huán)(roundrobin)負(fù)載平衡。限制任何超級(jí)集群拓?fù)浣Y(jié)構(gòu)都具有局限性。在使用HTTP插件作為路由器時(shí),您應(yīng)當(dāng)注意以下這些限制:目前的WebSphereApplicationServer實(shí)現(xiàn)只支持對(duì)HTTP協(xié)議實(shí)現(xiàn)超級(jí)集群。模式只提供了可伸縮性,而沒(méi)有提供會(huì)話故障轉(zhuǎn)移:沒(méi)有會(huì)話復(fù)制報(bào)告。可以對(duì)會(huì)話故障轉(zhuǎn)移使用WebSphereeXtremeScale或會(huì)話持久性。該技巧需要人為地管理plugin-cfg.xml文件:必須手動(dòng)地編輯plugin-cfg.xml文件。必須禁用插件文件自動(dòng)生成和傳播功能。必須手動(dòng)地同步plugin-cfg.xml文件與拓?fù)浣Y(jié)構(gòu)變更。下一節(jié)將繼續(xù)討論同一個(gè)樣例場(chǎng)景,但是將使用WebSphereProxyServer在超級(jí)集群間分發(fā)請(qǐng)求,而不是HTTP插件路由器。
回頁(yè)首代理服務(wù)器讓我們看看在使用WebSphereProxyServer作為路由器時(shí)如何設(shè)置和配置超級(jí)集群,將繼續(xù)使用上文中包含兩個(gè)集群的樣例,如圖14所示。
圖14.使用代理服務(wù)器的超級(jí)集群
除了其他重要的功能外,代理服務(wù)器還可以將HTTP或SIP請(qǐng)求轉(zhuǎn)發(fā)給WebSphereApplicationServers。代理服務(wù)器只不過(guò)是眾多服務(wù)器類型中的一種,可以使用WebSphereApplicationServer管理控制臺(tái)創(chuàng)建。
圖15.代理服務(wù)器
要配置使用WebSphereProxyServer的超級(jí)集群拓?fù)浣Y(jié)構(gòu),執(zhí)行以下步驟:創(chuàng)建一個(gè)WebSphereApplicationServer集群。將應(yīng)用程序安裝到集群中。測(cè)試和檢驗(yàn)應(yīng)用程序。創(chuàng)建額外的WebSphereApplicationServer集群。將應(yīng)用程序模塊映射到每個(gè)集群。將所有包含集群的核心組與包含代理服務(wù)器的核心組建立連接。您將注意到這些步驟中并沒(méi)有提及生成或手動(dòng)編輯任何類型的路由器配置文件。這是因?yàn)榇矸?wù)器的路由信息是動(dòng)態(tài)獲得并更新的。對(duì)于超級(jí)集群,與使用HTTP插件路由器相比,使用代理服務(wù)器的優(yōu)勢(shì)在于不需要手動(dòng)編輯任何靜態(tài)路由信息。權(quán)衡點(diǎn)在于所有包含代理服務(wù)器的核心組和任何接收請(qǐng)求的集群必須被連接起來(lái)。請(qǐng)求路由在前面的HTTP插件討論中已經(jīng)詳細(xì)介紹了將應(yīng)用程序模塊映射到多個(gè)集群中的步驟,因此這里不再重復(fù)。對(duì)于本例,如果您已經(jīng)完成了映射任務(wù),則現(xiàn)在就可以開(kāi)始在超級(jí)集群間分發(fā)客戶機(jī)請(qǐng)求了。這里不需要進(jìn)行額外的配置,因?yàn)檫@個(gè)簡(jiǎn)單示例只有一個(gè)單一的核心組。祝賀您,您現(xiàn)在已經(jīng)可以使用代理服務(wù)器在超級(jí)集群間分發(fā)請(qǐng)求了。代理服務(wù)器將自動(dòng)把HTTP請(qǐng)求路由到超級(jí)集群中的所有成員,同時(shí)維護(hù)會(huì)話的親緣性。不需要手動(dòng)編輯任何路由文件。代理服務(wù)器將通過(guò)高可用性管理器公告欄服務(wù)動(dòng)態(tài)獲得路由信息。相對(duì)于HTTP插件的“集群級(jí)”路由,來(lái)自代理服務(wù)器的路由可以被看作是“應(yīng)用程序級(jí)別的”。代理服務(wù)器將路由到部署了應(yīng)用程序的cell中的任意WebSphereApplicationServers。這同時(shí)包括集群成員和非集群式應(yīng)用服務(wù)器。核心組橋接服務(wù)對(duì)于這個(gè)簡(jiǎn)單的示例,您不需要處理任何核心組橋接配置。對(duì)于更加真實(shí)的場(chǎng)景,可能涉及多個(gè)核心組,并且需要配置核心組橋接,以將各個(gè)核心組連接起來(lái)。這使得動(dòng)態(tài)路由信息能夠從各個(gè)集群流向制定路由決策的代理服務(wù)器。如果代理服務(wù)器和目標(biāo)集群位于不同的核心組,則必須設(shè)置核心組橋接配置。(參見(jiàn)參考資料)。限制同樣,任何超級(jí)集群拓?fù)浣Y(jié)構(gòu)都具有局限性。當(dāng)使用代理服務(wù)器作為路由器時(shí),您應(yīng)當(dāng)注意以下這些限制:對(duì)于超級(jí)集群,代理只支持路由HTTP協(xié)議。模式?jīng)]有提供會(huì)話故障轉(zhuǎn)移:沒(méi)有會(huì)話復(fù)制報(bào)告。可以對(duì)會(huì)話故障轉(zhuǎn)移使用WebSphereeXtremeScale或會(huì)話持久性。該技巧可能需要用到核心組橋接服務(wù)(CGBS)配置;如果代理服務(wù)器和集群(應(yīng)用程序部署目標(biāo))位于不同的核心組,則將需要使用CGBS。
回頁(yè)首HTTP插件和代理服務(wù)器目前為止,您已經(jīng)了解了在使用HTTP插件或代理服務(wù)器作為路由器時(shí)如何配置超級(jí)集群拓?fù)浣Y(jié)構(gòu)?,F(xiàn)在,讓我們看看在什么情況下需要對(duì)超級(jí)集群拓?fù)浣Y(jié)構(gòu)結(jié)合使用這兩種路由器類型。安全性對(duì)超級(jí)集群拓?fù)浣Y(jié)構(gòu)使用代理服務(wù)器將十分方便,因?yàn)椴恍枰謩?dòng)編輯或管理靜態(tài)路由配置文件。然而,出于安全性考慮。一些用戶可能不希望將代理服務(wù)器放到非保護(hù)區(qū)(demilitarizedzone,DMZ)以外。要解決這個(gè)問(wèn)題,可以在DMZ中配置Web服務(wù)器(使用傳統(tǒng)的HTTP插件路由器),從而能夠?qū)⒄?qǐng)求轉(zhuǎn)發(fā)給位于協(xié)議防火墻內(nèi)部的代理服務(wù)器(圖16)。
圖16.DMZ中路由到代理服務(wù)器的Web服務(wù)器
通過(guò)使用這種配置,DMZ中的Web服務(wù)器將使用傳統(tǒng)的HTTP插件路由器把請(qǐng)求轉(zhuǎn)發(fā)給代理集群成員。默認(rèn)情況下,發(fā)往代理服務(wù)器的請(qǐng)求分發(fā)嚴(yán)格遵守循環(huán)規(guī)則,并且Web服務(wù)器不會(huì)考慮HTTP會(huì)話親緣性。代理集群的成員將把請(qǐng)求轉(zhuǎn)發(fā)給超級(jí)集群的成員。代理服務(wù)器在需要時(shí)維護(hù)HTTP會(huì)話親緣性。這里涉及了一個(gè)額外的網(wǎng)絡(luò)跳轉(zhuǎn)(從Web服務(wù)器跳轉(zhuǎn)到代理服務(wù)器),但是大部分情況下,這算不上嚴(yán)重的問(wèn)題。然而,對(duì)于這種拓?fù)浣Y(jié)構(gòu)需要特別注意HTTP插件配置文件的創(chuàng)建。生成plugin-cfg.xml文件要支持通向代理服務(wù)器的路由,需要一個(gè)特殊的HTTP插件配置文件。傳統(tǒng)的插件配置文件包含cell和應(yīng)用程序拓?fù)浣Y(jié)構(gòu)。在這個(gè)場(chǎng)景中,插件配置文件只需要理解如何路由到代理服務(wù)器。代理服務(wù)器本身包含用于生成插件文件和自動(dòng)分發(fā)的機(jī)制。要配置插件文件的生成,必須從代理服務(wù)器配置頁(yè)面訪問(wèn)Proxysettings鏈接,如圖17所示。
圖17.代理配置
這里顯示的Proxysettings鏈接用于單一的代理服務(wù)器配置。如果您的代理集群中包含多個(gè)代理服務(wù)器,您將需要轉(zhuǎn)到代理集群配置頁(yè)面來(lái)查找相同的Proxysettings鏈接。對(duì)于本文而言,您需要考慮用來(lái)處理插件配置文件的生成和傳播的設(shè)置。對(duì)于這些選項(xiàng),向下翻滾代理服務(wù)器設(shè)置頁(yè)面,知道發(fā)現(xiàn)名為ProxyPluginConfigurationPolicy的區(qū)段(如圖18所示)。您將在這里找到兩個(gè)用于處理HTTP插件配置文件的設(shè)置:GeneratePluginConfiguration該值將控制您是否希望讓代理服務(wù)器生成一個(gè)plugin-cfg.xml文件以及文件生成的范圍。
圖18.ProxyPluginConfigurationPolicy
對(duì)于插件配置的生成范圍,可以指定為none、All、Cell、Node和Server。可以在<profilehome>/etc目錄中找到生成的插件配置文件。Pluginconfigchangescript在Pluginconfigchangescript字段中,可以輸入您希望在完成生成后運(yùn)行的腳本文件的名稱。您可以使用這個(gè)選項(xiàng)自動(dòng)將插件文件傳播到所需的Web服務(wù)器。圖19展示了代理設(shè)置面板中的相同區(qū)段,該字段顯示的文本為flyoverhelp。
圖19.ProxyPluginConfigurationPolicy
本節(jié)的關(guān)鍵在于,要將Web服務(wù)器配置為通過(guò)HTTP插件向代理服務(wù)器路由請(qǐng)求,必須將代理服務(wù)器配置為生成插件配置文件。其他注意事項(xiàng)目前,生成的plugin-cfg.xml僅包含在生成文件時(shí)啟動(dòng)并運(yùn)行的代理服務(wù)器。如果對(duì)代理服務(wù)器進(jìn)行了配置,但未運(yùn)行,則它們將不會(huì)出現(xiàn)在生成的plugin-cfg.xml文件內(nèi)。因此,您需要確保使用的是在所有代理服務(wù)器啟動(dòng)后生成的文件。在使用代理服務(wù)器生成插件配置文件時(shí),如果對(duì)環(huán)境做出任何將影響文件內(nèi)容的修改,則將自動(dòng)重新生成plugin-cfg.xml文件。這類修改的例子包括:?jiǎn)?dòng)新的代理服務(wù)器。安裝或卸載應(yīng)用程序。修改虛擬主機(jī)定義。修改上下文根。如果要在生成插件路由文件期間執(zhí)行恢復(fù)或類似操作,可能會(huì)在<profilehome>/etc目錄中觀察到兩個(gè)不同版本的路由文件:plugin-cfg.xml和plugin-cfg-<membername>.xml。后者是一個(gè)臨時(shí)文件,通常不應(yīng)用于實(shí)際的路由。如果發(fā)現(xiàn)多個(gè)版本的插件路由文件,則可以在刪除plugin-cfg-<membername>.xml文件后重新生成插件路由文件。代理集群如果需要使用多個(gè)代理服務(wù)器實(shí)現(xiàn)高可用性和可伸縮性,建議創(chuàng)建一個(gè)代理集群。代理集群最初被用來(lái)簡(jiǎn)化配置:創(chuàng)建一個(gè)包含所有必需工件(比如重定向規(guī)則等等)的代理服務(wù)器,然后從模板中創(chuàng)建額外的代理服務(wù)器(集群成員)。這使您避免了在多個(gè)代理服務(wù)器中重新配置相同的規(guī)則以及其他內(nèi)容。
回頁(yè)首結(jié)束語(yǔ)在這個(gè)共分兩部分的系列文章的第一部分中,我們描述了在將JavaEE應(yīng)用程序部署到大型集群以進(jìn)行擴(kuò)展時(shí)遇到的挑戰(zhàn)。同時(shí)討論了超級(jí)集群(一個(gè)分為兩層的WebSphereApplicationServer集群)的一般法則,如何將一些用于HTTP客戶機(jī)的應(yīng)用程序部署到超級(jí)集群中,從而實(shí)現(xiàn)最大程度的應(yīng)用程序可伸縮性。超級(jí)集群的原理主要依賴于拓?fù)浣Y(jié)構(gòu)中涉及的各種路由器的請(qǐng)求轉(zhuǎn)發(fā)能力。本文使用涉及傳統(tǒng)WebServer插件、WebSphereApplicationServer典型代理服務(wù)器的拓?fù)浣Y(jié)構(gòu)以及同時(shí)使用這兩種路由器的拓?fù)浣Y(jié)構(gòu)作為示例。某些情況下,必須手動(dòng)修改自動(dòng)生成的靜態(tài)路由信息。本文還解釋了在多個(gè)集群中部署應(yīng)用程序的技巧。對(duì)超級(jí)集群的需求并不會(huì)出現(xiàn)在日常的實(shí)踐中,但是它會(huì)出現(xiàn)在HTTP客戶機(jī)中,這種需求可以得到滿足。所有超級(jí)集群選項(xiàng)都存在某些限制,但是對(duì)于給定的場(chǎng)景,這些限制可能是必要的。對(duì)于以下情況,可以考慮使用超級(jí)集群:您當(dāng)前需要超過(guò)100個(gè)成員集群,或者您的部署架構(gòu)需要足夠靈活,從而可以在未來(lái)的集群中容納超過(guò)100個(gè)應(yīng)用服務(wù)器。盡管在理論上并沒(méi)有限制超級(jí)集群可以容納的WebSphereApplicationServer實(shí)例的數(shù)量,但是不應(yīng)該將超級(jí)集群視為實(shí)現(xiàn)可伸縮性的萬(wàn)能解決方案。特定JavaEE應(yīng)用程序使用的資源會(huì)對(duì)這些應(yīng)用程序的可伸縮性施加限制。例如,對(duì)于與數(shù)據(jù)庫(kù)有關(guān)的應(yīng)用程序,底層數(shù)據(jù)庫(kù)服務(wù)器可以承受的數(shù)據(jù)庫(kù)連接的最大數(shù)量會(huì)限制WebSphereApplicationServer實(shí)例的數(shù)量,而在WebSphereApplicationServer實(shí)例中可以同步部署應(yīng)用程序,因而最終會(huì)影響應(yīng)用程序的可伸縮性。本系列第2部分將繼續(xù)探討超級(jí)集群技巧,我們將介紹DMZSecureProxyServerforWebSphereApplicationServer、WebSphereVirtualEnterprise隨需應(yīng)變路由器和WebSphereeXtremeScale產(chǎn)品。
回頁(yè)首致謝本文作者衷心感謝以下人員,他們?yōu)楸疚奶峁┝思夹g(shù)內(nèi)容,或?qū)Ρ疚牡募夹g(shù)內(nèi)容和準(zhǔn)確性進(jìn)行了審校:BobWestland,WebSphereApplicationServerNetworkDeployment工作負(fù)載管理器架構(gòu)師;PeterVanSickel,IBMSoftwareServicesforWebSphere顧問(wèn);BenjaminParees,WebSphereVirtualEnterprise開(kāi)發(fā)人員;KeithSmith,隨需應(yīng)變路
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路貨物運(yùn)輸書(shū)面合同
- 2025版電子顯示屏租賃代售及安裝調(diào)試服務(wù)合同3篇
- 二零二五版消防設(shè)施驗(yàn)收及消防安全隱患整改協(xié)議3篇
- 餐飲加盟合同書(shū)模板年
- 二零二五版土地房產(chǎn)轉(zhuǎn)讓與生態(tài)保護(hù)補(bǔ)償合同3篇
- 用電的協(xié)議書(shū)范本
- 二零二五年度環(huán)保材料生產(chǎn)工序委托合同3篇
- 軟件采購(gòu)技術(shù)協(xié)議
- 二零二五版物流配送中心房屋租賃與物流信息化解決方案合同3篇
- 成都商鋪?zhàn)赓U合同
- 2024年漢中市行政事業(yè)單位國(guó)有資產(chǎn)管理委員會(huì)辦公室四級(jí)主任科員公務(wù)員招錄1人《行政職業(yè)能力測(cè)驗(yàn)》模擬試卷(答案詳解版)
- 藝術(shù)培訓(xùn)校長(zhǎng)述職報(bào)告
- ICU新進(jìn)人員入科培訓(xùn)-ICU常規(guī)監(jiān)護(hù)與治療課件
- 選擇性必修一 期末綜合測(cè)試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 《論語(yǔ)》學(xué)而篇-第一課件
- 《寫美食有方法》課件
- 學(xué)校制度改進(jìn)
- 各行業(yè)智能客服占比分析報(bào)告
- 年產(chǎn)30萬(wàn)噸高鈦渣生產(chǎn)線技改擴(kuò)建項(xiàng)目環(huán)評(píng)報(bào)告公示
- 心電監(jiān)護(hù)考核標(biāo)準(zhǔn)
- (完整word版)申論寫作格子紙模板
評(píng)論
0/150
提交評(píng)論