<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kapok

    垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
    http://dev2dev.bea.com.cn/techdoc/webser/2005030102.html

    集群BEA WebLogic Server

      訪問BEA WebLogic Server 集群
      DNS負載均衡技術
      代理服務器
      使用BEA WebLogic Server作為Web服務器
      使用BEA WebLogic Server作為負載均衡代理
      與第三方Web服務器集成
      硬件負載均衡器
      WAN集群
      Web集群
      用代理Web服務器的故障切換
      用負載均衡硬件的故障切換
      對象集群
      無狀態會話EJB
      有狀態會話EJB
      實體bean
      全部集群的JNDI樹
      JMS集群
      JDBC元池(metapool)集群
      BEA WebLogic Server實例如何在網絡上通信
      配置和管理BEA WebLogic 集群
      配置集群
      用節點管理器(Node Manager)自動管理
      結束語
      BEA簡介

    摘要
      BEA WebLogic Server?通過它的無與倫比的集群技術為電子商務提供所需的可伸縮性和24×7的可用性。集群指的是:在業務關鍵型系統內,為了分配負載和消除單點故障而將服務器分組的若干方法。集群實現冗余,通過Web技術和對象集群自動將故障切換到備份服務器或者對象實例、保持有狀態對象的狀態,以及更新JDNI樹和復制感知的占位程序。如果硬件或者軟件出現故障,客戶機訪問被透明地轉移到工作的服務器或者對象的復制品。集群對它的客戶機而言,就像是單一的“超級”服務器,通過惟一的URL訪問。在集群內部,服務器通過IP多播通信,通過DNS負載均衡、硬件負載均衡器或者代理服務器支持簡單的Web訪問模型。BEA WebLogic集群技術是該行業內最先進的,它為客戶提供最高級別的可伸縮性和業務關鍵型Web應用程序的可靠性。

    概述
      Internet已經提高了可靠性標準。用戶愈加期盼“dial tone”式的服務質量,24×7的可用性和即時性。人們無法接受直接影響業務關鍵型客戶或者業務合作伙伴的故障。基礎架構必須保證高可靠性,以便向企業提供不間斷的服務。
      在當今動態的業務環境中,企業必須能夠動態地提高能力以滿足需求。支持這種應用程序的基礎結構必須具備高度可伸縮性,在不必改變硬件或者軟件的情況下,就能夠無限制的增長。
      現在,企業使用Java應用服務器,特別是占據領先地位的BEA WebLogic Server,來為客戶的自服務、供應鏈和分配信道管理、交易、轉帳、物資供應和許多其他服務開發和部署高度可伸縮和極其可靠的任務關鍵型應用程序。在BEA WebLogic Server上的部署覆蓋了所有行業,包括電訊(AT&T、Qwest和Verizon)、衛生保健(Aetna、Blue Cross/Blue Shield和Oxford Health Plan)、運輸(United Airline、Delta Air Line和DHL Worldwide Express)和金融服務(Charles Schwab、American Express和Fidelity Investment)。

      這些成功的客戶使BEA成為基礎架構軟件的領頭羊,它擁有2100多個合作伙伴ISV、ASP和系統集成商,以及11000多家客戶。BEA WebLogic是行業內最先進的Java應用服務器,一直贏得最高的市場份額,以及對J2EE和Web service技術的大力支持。
      BEA WebLogic Server成功的關鍵之一是它已經證明,通過卓越的集群能力,它能夠提供可伸縮性和高可用性。

    集群BEA WebLogic Server TOP
      
    BEA WebLogic Server集群由許多部署在網絡上的BEA WebLogic Server組成。集群服務器一起工作,提供比單臺服務器功能更強大、可靠性更高的應用程序平臺。集群對于其客戶機來講是單臺服務器,但事實上,它是起著一臺“超級”服務器作用的一組服務器。

    與單一服務器相比,BEA WebLogic集群有兩個主要優點:

    • 可伸縮性——集群的能力不受某一單臺服務器或者單臺機器的限制。為了提高處理能力,可以動態地將新的服務器添加到集群中。如果需要更多的硬件,可以在新機器上添加新的服務器。如果單一的服務器不能充分利用現有的機器,可以在該機器上添加其他的服務器。
    • 高可用性——集群利用多臺服務器的冗余使客戶機與硬件或者軟件故障隔離開。集群中的多臺服務器可以提供相同的服務。如果某臺服務器發生故障,另一臺服務器可以接管。從發生故障的服務器自動切換到正在運行的服務器的能力,可以保證對客戶機而言具有應用程序的無縫可用性,而無需客戶機知道出現了問題。

    集群的其他特性:

    特性 好處
    沒有擴展瓶頸 根據需要,可以很容易并且動態地將新服務器添加到配置中,以滿足日益增加的用戶需求。此外,全部的請求負載在服務器間分配,以便保持充分利用資源。
    單點故障不影響可用性 請求自動地從失效的組件轉移到工作的組件。此外,還保護會話狀態以保證完全向用戶和應用程序隱藏所發生的所有故障(例如服務器崩潰)。
    對應用程序和開發人員的透明性 程序員不應該處理復雜的復制、請求路由、負載均衡以及故障切換等。客戶可以購買現成的應用程序組件,這些組件可以透明地部署,而不用修改已集群的應用程序服務器。
    硬件和操作系統的無關性 BEA WebLogic Server集群可以在多種平臺上運行 。由于與專用的平臺特性無關,所以BEA WebLogic集群可以由各種系統組成,從運行Microsoft Windows NT的Intel機器一直到大規模Unix多處理器和IBM OS/390大型機。

      BEA WebLogic Server集群可以進一步聚合在某個域內——域指的是能夠由控制臺作為單一的邏輯安裝所管理的一組BEA WebLogic Server實例和/或者集群。如上所述,BEA WebLogic Server集群以對應用程序開發人員透明的方式向J2EE應用程序提供可伸縮性和高可用性。但是,為了使應用程序程序員和管理員最大限度地提高其應用程序的可伸縮性和可用性,讓他們了解集群內固有的問題很重要。
      BEA WebLogic Server有幾種形式的復雜的集群,分別是Web集群、對象集群、JMS(Java消息服務)集群和JDBC連接池(元池)集群。
      除了基本的集群功能之外,集群內的BEA WebLogic Server實例可以與全局共享和復制的(全部集群)JNDI樹(Java命名和目錄接口)的組合相互配合,并在內存中進行Servlet和EJB會話狀態的復制。

    訪問BEA WebLogic Server集群 TOP
      
    BEA WebLogic Server集群在客戶機看來是單一的服務器,可以使用簡單的URL來尋址。 實際上,該URL必須映射到集群內的多臺服務器,以保證連接請求可以在該集群內負載均衡,并且可以透明地進行故障切換。BEA WebLogic Server支持幾種實現這種簡單訪問模型的技術:

    • DNS負載均衡
    • 代理服務器(BEA WebLogic代理,或者使用BEA WebLogic插件的第三方Web服務器)
    • 硬件負載均衡器

    DNS負載均衡 TOP
      訪問BEA WebLogic Server集群最簡單的方法是使用映射到所有集群服務器的IP地址的單一DNS(域名系統)名稱。當一個DNS名稱映射到多個地址時,DNS服務器將循環使用該列表,連續查找這個DNS名稱。這提供了一種簡單的負載均衡和故障切換方式。每次客戶機解析URL,它都將得到循環的下一個地址。這樣可以保證客戶機連接均勻地在集群中得到均衡。如果某一客戶機請求失敗,客戶機可以通過再一次查找該名稱來故障切換該請求,并用新地址重新嘗試。對某些應用程序而言,這是一種簡單但足以解決問題的方法。但是,它不具備其他解決方案可提供的性能和可管理水平。

    代理服務器 TOP
      訪問集群的另一種方法是使用代理回該集群的其他Web服務器。代理服務器可以是含有BEA WebLogic Server的Web服務器,或者是具有BEA WebLogic 插件的Apache、Netscape或者Microsoft Web Server。
      代理服務器被設置為將某些類型的請求重定向到支持它的服務器上。例如,可以配置代理服務器處理靜態HTML頁面請求,而將針對Servlet和Java Server Page的請求重定向到支持代理的BEA WebLogic集群。
      代理服務器的作用類似于硬件負載均衡器,因為代理服務器執行負載均衡、在支持它的集群中的多臺服務器之間分配請求。當會話建立時,它繼續代理該會話的所有請求到單一的服務器。如果該服務器發生故障,它將任務切換到副服務器。

    使用 BEA WebLogic Server作為 Web Server TOP
      BEA在BEA WebLogic Server中加進了具有完全功能的HTTP服務器。因此,BEA WebLogic Server能夠作為完全集群解決方案中的主Web服務器。作為Web站點,除繼續提供靜態HTML文件之外,還提供個性化的、動態的內容,人們可能期望看到更多的Web服務器被Web應用服務器所替代。

      用作Web服務器時,高性能的BEA WebLogic Server支持最新的J2EE 1.3標準,進而為客戶提供了以下好處:

    • 與大多數負載均衡硬件,以及最為廣泛使用的Web服務器(使用了所提供的插件)集成
    • 與大多數Java虛擬機兼容
    • 可伸縮性和高可用性的集群
    • 跨集群的Servlet狀態復制
    • Servlet自動故障切換
    • 支持Cookies
    • Servlet轉發和鏈接
    • JSP結果緩沖
    • JSP標簽庫
    • 動態部署
    • 基于Web的管理和監控

    使用 BEA WebLogic Server作為負載均衡代理 TOP
      BEA WebLogic Server可以作為負載均衡代理與BEA WebLogic 集群接合。就這一點而論,它可以提供負載分配、故障切換和其他的負載均衡器特性,以及處理Web請求的某些部分(例如,快速靜態頁面服務)。作為代理,然后它可能將大多數請求重定向到支持它的集群。
      圖1顯示了使用BEA WebLogic代理作為負載均衡器的第一種可能的BEA WebLogic集群配置。這種配置充分利用BEA WebLogic作為Web服務器。


    圖1:BEA WebLogic代理作為BEA WebLogic Web Serve前面的負載均衡器

    與第三方Web服務器集成 TOP
      可以將BEA WebLogic Server與第三方Web服務器集成。Web服務器代理向使用BEA WebLogic Server 所供插件的BEA WebLogic Server代理請求。插件是為iPlanet (Netscape) Enterprise Server、Microsoft IIS和在指定平臺上的Apache準備的。它設計用于第三方服務器處理靜態頁面的環境中。在這種情況下,動態內容(動態頁面最好由HTTP Servlet或JSP生成)委托給BEA WebLogic Server ,它可能運行在不同的進程中或者在不同的主機上。對于最終用戶——瀏覽器來說,將HTTP請求委派給BEA WebLogic Server 看起來仍然是來自相同的源。
      在這種情況下,代理插件也可以訪問由BEA WebLogic Server所托管的業務組件(如圖2所示)。


    圖2:BEA WebLogic代理插件連接BEA WebLogic Server

      該配置使用戶可將其投資利用到第三方Web服務器中,從而提供到基于WebLogic Server的環境的平穩過渡,同時支持與第三方服務器密切整合,并且支持BEA WebLogic本身的負載均衡和故障切換能力。

    硬件負載均衡器 TOP
      
    硬件負載均衡器克服了DNS方法的缺點,它工作在IP級而不是在命名級。同時,硬件負載均衡器比代理服務器所實現的軟件均衡器的性能更好。硬件負載均衡器相當于集群的代理。客戶機連接到負載均衡器上,并且將該連接路由到支持它的集群服務器中的某一服務器。負載均衡硬件可以跟蹤每臺服務器的“可用狀態”,避免向“反常的”訪問器發送請求。在其負載均衡判定中,負載均衡硬件也可以結合負載信息。使用負載均衡硬件更容易看見的一些優點是:

    • 更寬的負載均衡算法選擇范圍——您可以選擇各種各樣的負載均衡算法。例如,您可以根據負載、連接或者簡單的“循環”邏輯來選擇算法。
    • 跳過失效的服務器——負載均衡器將跳過集群中失效的服務器,從而提高響應時間。
    • 加速安全套接字層(Secure Socket Layer,SSL)——負載均衡器通常將SSL處理從應用程序服務器轉移到專用SSL加速器上,因而可以加速SSL。通過減少處理安全事務所需的時間,這可以極大地提高性能。
    • 較少的網絡跳數(hop)——在BEA WebLogic Server集群前面直接使用一個硬件負載均衡器導致從負載均衡器到BEA WebLogic Server 只有一個網絡跳。這樣比將負載均衡器放在第三方代理Web服務器場之前性能要好,因為那樣需要標準的兩跳——一跳是從負載均衡器到Web服務器,另一跳是從Web服務器到BEA WebLogic Server。

      然而,硬件負載均衡器一般比用BEA WebLogic Server充當代理更昂貴,并且沒有BEA WebLogic Server特有的智能,該智能可提供更好的故障切換性能、降低網絡混亂程度。特別是,硬件負載均衡器不能利用HTTP cookies,這些cookies載有BEA WebLogic集群特有的有關集群對象的主實例和副實例位置的信息。
       BEA WebLogic Server支持大多數現在市場上流行的負載均衡硬件產品。注意一點很重要,聯合使用這些負載均衡產品和BEA WebLogic Server不需要額外的編碼。
      要支持通過負載均衡硬件的直接客戶機訪問,BEA WebLogic Server的復制系統(replication system)使客戶機能夠使用副(secondary)會話狀態,而不用管客戶機故障切換到哪臺服務器。BEA WebLogic Server繼續使用客戶機方的cookies或者URL重寫功能,以記錄主服務器和副服務器的位置。然而,在部署負載均衡硬件時,這一信息只能用作客戶機會話狀態位置的歷史。通過負載均衡硬件訪問集群時,客戶機不使用cookie信息主動查找故障后的服務器位置。簡而言之,負載均衡硬件使用它的配置策略將請求定向到集群中某一可用BEA WebLogic Server。


    圖3:硬件負載均衡器連接BEA WebLogic Server

      一旦服務器選定哪臺客戶機將進行故障切換,該服務器就使用該客戶機cookie中的信息(或者如果使用URL重寫功能,就使用HTTP請求中的信息)獲得會話狀態復制品(稍后會更詳細地討論)。故障切換過程對客戶機仍保持完全透明。

    WAN集群 TOP
      
    BEA WebLogic集群也可以配置在廣域網(WAN)上。在這種情況下,盡管配置成單一的集群,但BEA WebLogic Server實例在物理上可能位于不同的數據中心、屬于不同的局域網(LAN),并且可能相距很遠。這些配置通常用于災難恢復,或者提供從地理上分布的客戶機到全球分布的應用程序(不同的數據中心托管相同的應用程序)的快速本地訪問。

    WAN集群方案:
    1.在構成WAN集群的兩個或者多個LAN之間有可靠的、高吞吐能力的連接。該連接可以是專用線路,或者其他受控的“寬管(fat pipe)”型連接。從BEA WebLogic集群的角度來看,這種情況與簡單的LAN情況沒什么差別。集群可以為持久性狀態使用內存中(in-memory)復制,并且兩個LAN之間的所有路由器必須允許多播和點到點連接的TCP/IP。


    圖4:具有可靠的、高吞吐量連接的WAN集群

      要使WAN集群高度可用,應該跨WAN生成復制組,以便主和副服務器不在同一數據中心(如圖4所示)。

    2.沒有高吞吐量、可靠的連接可以利用,并且每個LAN只能通過常規的Internet連接訪問集群的其他部分,并且沒有受控的集線器和路由器。
      值得推薦的是,在這種情況下,只能使用基于磁盤的持久性(基于JDBC-或者文件)。利用這種配置,子集群不能相互通信。然而,他們使用持久的狀態存儲設備通過Internet進行復制。使用市場上銷售的文件和數據庫復制產品(用于文件的Veritas,用于數據庫的Oracle等)可以實現這一功能。但是,磁盤存儲器復制可能不是實時的,即:它可能根據配置的時間間隔進行復制。測試表明:基于JDBC的持久性比基于文件的持久性要快得多。


    圖5:沒有可靠連接的 WAN集群

      在此方案中(如上面的圖5所示),如果第1個數據中心發生故障,請求將被重路由到另外一個數據中心,對象的狀態將從持久性存儲器中重載,但自最后一次成功復制之后,可能有些信息沒有被復制,因而可能丟失。
      為了使BEA WebLogic WAN集群能夠實現,必須使用像Alteon、F5、和Resonate這樣的第三方全局負載均衡器(Global Load Balancer)(也稱為Global Content Manager)。
    為了實現最高的可用性,WAN 集群可能需要大量的網絡和系統資源。

    Web 集群 TOP
      BEA WebLogic Server通過保持訪問集群Servlet和Java Server Page(JSP)的客戶機的HTTP會話狀態,為Web應用程序提供集群支持。這種持久性可以通過配置BEA WebLogic控制臺獲得,可以從下面三個互斥選項中選擇:

    • In-memory復制
    • 文件系統持久性
    • 通過JDBC的數據庫持久性

      每個選項分別表現了持久性和性能之間的一種折衷。文件或數據庫的持久性提供可能的最可靠持久性。然而,這些選項就性能而言代價更大。In-memory復制通過Servlet和JSP HTTP會話狀態自動故障切換為客戶提供高可用性優點。該選項最適合那些為了獲取最優性能而愿意接受持久性折衷方案的客戶。
      In-memory復制通過創建主會話來提供客戶機會話狀態的持久性。而主會話保存在客戶機最初連接到的BEA WebLogic Server實例上,并且在集群內的另一個BEA WebLogic Server實例上有該會話狀態的副復制品。復制品總是保持最新,以便托管主會話狀態的服務器發生故障時可以使用它。從一個實例復制會話狀態到另一個實例的過程正是In-memory復制的機制。
      如果可能,BEA WebLogic Server在不同的機器上(有別于托管主會話狀態的機器)創建會話狀態的復制品。BEA WebLogic Server使您能夠利用Administration Console中的復制組(replication group)進一步控制存放副狀態的地方。復制組只是用于存儲會話狀態復制品的集群實例優先級列表。
      圖6描述了客戶機利用BEA WebLogic代理或者硬件負載均衡器訪問服務器集群。該示例使用BEA WebLogic Server集群處理靜態和動態的Web內容,以及托管應用程序的業務邏輯。所有HTTP請求通過負載均衡器轉發給集群。


    圖6:負載均衡(硬件或者代理)將請求發送給集群內的某一可用服務器

      當客戶機請求Servlet時,硬件負載均衡器代理到集群的請求。負載均衡器利用它的配置策略,將客戶機請求發送到Server A之后,Server A充當客戶機Servlet會話狀態的主托管機。
      在上面的圖6中,Server A使用特殊的算法托管會話狀態的復制品。選擇Server B托管該復制品。通知客戶機在本地cookie中記錄Server A和Server B的位置。如果客戶機不使用cookies,主服務器和副服務器的記錄可以記錄在通過URL重寫功能返回客戶機的URL中。
      當客戶機向集群提出另外的請求時,負載均衡器使用客戶機方cookie中的標識符來確保這些請求繼續發送到Server A(而不是被負載均衡到集群內的其他服務器)。這就確保在會話生存期內,客戶機總是保持與托管主會話對象的服務器相關聯。
      文件系統和數據庫持久性工作方式類似,只是狀態數據保存在磁盤上。在這種情況下,BEA WebLogic Server實例之間沒有集群感知的占位程序或者狀態復制。在故障切換處理期間,保存的狀態由下一個從負載均衡器中得到請求的可用服務器實例從磁盤上讀取。

    用代理Web服務器的故障切換 TOP
      
    在客戶機會話期間,萬一Server A出現故障,客戶機到Server A的下一個連接請求也會失敗。
      發生這種情況時,代理可以確定(從cookie或者URL)JSP或者Servlet對象要訪問的副服務器(在該例中是Server B)。請求被代理直接重路由到副服務器(B)。之后,Server B指定自己作為主服務器,并在集群內的任何其他可用服務器上創建另一個副服務器(C)(如圖7所示)。


    圖7:具有代理負載均衡的主服務器出現故障,則將請求重定向到集群中的副服務器

    用負載均衡硬件的故障切換 TOP
      負載均衡硬件為了響應連接失敗,會使用其配置策略把請求發送給集群中某一可用的BEA WebLogic Server。在上述示例中,假設在Server A出現故障后,負載均衡器會將客戶機的請求定向到Server C。
      當客戶機連接到Server C時,服務器使用客戶機cookie中的信息(或者如果使用了URL重寫功能,則使用HTTP請求中的信息)獲取Server B上的會話狀態復制品。故障切換的過程足夠快,因而系統故障對客戶機是完全透明的。
      Server C變成客戶機主會話狀態的新托管主機,Server B繼續托管會話狀態的復制品。在客戶機cookie中,或者通過URL重寫功能,會再一次更新有關主、副托管主機的新信息。


    圖8:具有負載均衡硬件的主服務器出現故障,它將請求重定向到集群中的某一可用服務器

      在兩個服務器集群中,客戶機將透明地故障切換到托管副會話狀態的服務器。另一臺服務器一加入到該集群中,或者原來的主服務器重新啟動或重新連接到網絡中,就會繼續客戶機會話狀態的復制。

    對象集群 TOP
      
    BEA WebLogic Server支持的第二種形式的集群是對象集群。如果某一對象被集群,該對象的實例——稱為復制品——將被部署在集群內的所有服務器上。
      在BEA WebLogic Server中,支持集群對象的關鍵技術是復制品感知的占位程序。連接到BEA WebLogic Server集群、并且查找集群對象的客戶機獲得一個該對象的占位程序,在調用者看來,它是一般的占位程序。但是,該占位程序不是表示單一的對象,而是表示一個復制品集合。
      通過使用復制品感知的占位程序和全局共享和復制的JNDI樹,客戶機可以選擇調用對象的哪一個實例。
      默認情況下,在部署對象、然后連入JNDI樹的時候,會自動生成該對象的復制品感知的占位程序。如果該對象不需要復制,可以關閉這一特性。復制品感知的占位程序含有查找某一對象所需的邏輯,而這一對象在部署該對象的任意BEA WebLogic Server實例上。
      BEA WebLogic Server實例有能力更新該占位程序的本地副本,因而該占位程序含有托管對象復制品的所有可用服務器實例的完整列表。該占位程序還包含在其主服務器之中分配負載時的負載均衡邏輯。每次調用時,占位程序利用其負載均衡算法選擇調用哪一個復制品。這種在集群中負載均衡對調用者是透明的。如果在調用過程中出現故障,占位程序截獲異常并重新嘗試調用另一個復制品。這種故障切換對調用者也是透明的。
      萬一出現故障,占位程序從其列表中刪除失效的服務器實例。如果在其列表中沒有服務器了,則它再次使用DNS查找某個正在運行的服務器,獲得當前正在運行的實例列表。此外,占位程序定期地刷新集群內可用的服務器實例列表。這使得占位程序能夠利用添加到集群中的新服務器。
      BEA WebLogic Server中的對象集群根據維護實體bean和會話bean狀態的重要性,有差別地處理實體bean和會話bean。下面描述對各種EJB(Enterprise JavaBean)的不同處理方法。

    無狀態會話EJB TOP
      
    因為無狀態bean不保存代表客戶機的狀態,所以占位程序自由地將所有調用路由到托管該bean的任何服務器。因為bean是集群的,所以在故障事件中,占位程序可以自動進行故障切換。

    有狀態會話EJB TOP
      BEA WebLogic Server復制有狀態會話bean EJB的狀態,方法與它復制HTTP會話狀態的方法類似。當客戶機創建EJBObject占位程序時,最初由負載均衡器選擇的實例會自動選擇托管已復制EJB狀態的副服務器。
      客戶機接收一個復制品感知的占位程序,它列出集群內托管EJB狀態的主、副服務器的位置。主服務器托管與客戶機交互的實際EJB實例。副服務器只托管復制的EJB狀態,這只消耗很小的內存空間。除非發生故障切換,否則副服務器不創建實際的EJB實例。這樣保證在副服務器上消耗的資源最少,保存復制的EJB狀態不需要配置額外的EJB資源。
      當客戶機修改EJB的狀態時,狀態變化被復制到副服務器實例上。對于使用事務的EJB,事務提交后,復制立即發生。對于不使用事務的EJB,調用每個方法后復制發生。在這兩種情況下,只有EJB狀態的實際變化被復制到副服務器上,從而保證與復制過程相關的開銷最小。
      如果主服務器出現故障,客戶機的EJB占位程序會將以后的請求重定向到副BEA WebLogic Server實例。此時,副服務器利用復制的狀態數據創建一個新的EJB實例,并在副服務器上繼續處理。
      故障切換后,BEA WebLogic Server選擇一個新的副服務器來復制EJB會話狀態(如果在集群中有其他可用服務器的話)。在下一個方法調用中,將會自動更新客戶機的復制品感知占位程序中的新的主、副服務器實例位置。

    實體bean TOP
      
    當EJBHome找到或者創建一個實體bean之后,它返回訂住該服務器的占位程序。該服務器出現故障之前,有關該占位程序的所有請求都發往相同服務器。在這種情況下,BEA WebLogic Server故障切換至另一臺服務器。注意:在這種情況下沒有復制,BEA WebLogic Server依靠數據庫來存儲變化情況。由于EJB部署在集群內,所以只需要另一臺可用的服務器從數據庫中重載其狀態。此時,占位程序將會用托管重新創建的EJB的服務器位置進行更新。
      實體bean的負載均衡只在主(home)級進行。然而,為了故障切換,復制品感知占位程序將在另一臺服務器上重試請求。應該注意的是:只有請求在當前事務外時,才是這種情況。
      由于在集群內可能存在該實體bean的多個實例,所以每個實例都必須在每個事務之前從數據庫中讀取,并且每次提交時寫入。
      如果是只讀的實體bean,bean的數據由訪問該bean的服務器實例在本地緩存。在數據很少修改的情況下,這樣做節省數據庫訪問。當這些數據是由只讀的EJB修改時,通過向服務器的其他實例多播無效消息,可明確地使集群內相關的只讀bean失效。這種失效方法可用于指定的主鍵、某一鍵集或者所有指定類型的bean。

    全部集群的JNDI樹 TOP
      
    某一單獨BEA WebLogic Server的客戶機使用JNDI兼容的命名服務訪問對象和服務。JNDI命名服務包含一系列由服務器提供的公共服務,以“樹形”結構進行組織。BEA WebLogic Server通過將名稱綁定到表示新服務的JNDI樹來提供新的服務。客戶機通過連接到服務器并查找服務的綁定名稱來獲得服務。
      集群內的服務器實例利用全部集群的JNDI樹。全部集群的JNDI樹與單一服務器的JNDI樹類似,在這種情況下該樹包含一系列可用的服務。但是,全部集群的JNDI樹除了保存本地服務的名稱之外,它還保存復制品感知的占位程序,而該占位程序指向集群內所有服務器上可用的集群對象。集群內的各BEA WebLogic Server實例創建和維護全部集群JNDI樹的一個本地副本。

    JMS 集群 TOP
      BEA WebLogic Server通過在整個集群內分布JMS目的地和連接工廠來支持多個JMS服務器的集群。
      JMS目的地是接收消息的實體。客戶機使用JMS連接工廠建立與目的地的連接。
      利用集群,BEA WebLogic Server的高級JMS可伸縮性可通過如下方法實現:
      通過連接工廠在多個JMS服務器中分配應用程序的負載。這樣提供多個服務器間的連接負載平衡,減少單臺JMS服務器上的負載,并通過將連接路由到指定服務器而使會話集中。
      通過虛擬目的地標識跨多個JMS服務器分配目的地。這可減少指定服務器上各物理目的地的負載,并且極大地提高消息傳遞的可靠性和性能。
      可選的多播支持可以減少JMS服務器必需傳送的消息數目。JMS服務器只將消息的單個副本轉發給每個與多播IP地址相關的主機組,而與訂閱的應用程序數目無關。
      JMS連接工廠可以自動部署在集群內的多臺服務器上。使用分布式JMS連接工廠,客戶機可以從BEA WebLogic Server的任意實例中取得一個JMS連接。每臺BEA WebLogic Server處理一組JMS目的地請求。
      當JMS客戶機請求來自BEA WebLogic Server集群的JMS連接時,它可能根據所用的負載均衡算法從集群的任意服務器上獲得。該服務器可能不是處理客戶機所需的到指定目的地JMS請求的服務器。但使用JNDI,部署在每個BEA WebLogic Server實例上的連接工廠可以訪問集群內任意服務器的目的地組。這樣每臺客戶機可以在集群范圍內透明地訪問集群內的任何目的地。
      使用虛擬目的地,允許您配置多個物理目的地作為單一分布式目的地集合的成員,這樣萬一某臺服務器出現故障,BEA WebLogic JMS的高可用性實現可提供某種程度的服務連續性。特別是,管理員可以配置集群內某一給定目的地的多個實例作為虛擬目的地的成員。如果集群內的一個實例出現故障,則同一目的地的其他實例能夠為JMS過程和消息使用者提供服務。在這種情況下,可以將遺留在故障服務器上的可遷移目的地服務消息遷移到正在運行的實例上。
      虛擬目的地和遍及整個集群的分布式連接工廠,使管理員能夠通過配置不同的負載均衡算法和為集群各節點設置相對權重來人工均衡JMS服務的負載。

    JDBC元池集群 TOP
      萬一正在服務的集群成員發生故障,在不更改連接參數的情況下,集群JDBC(元池)允許外部的JDBC客戶機自動重新連接和重啟它們的JDBC連接。集群JDBC需要DataSource對象和BEA WebLogic RMI驅動程序以連接到DBMS。利用Administration Console 可以為每個BEA WebLogic Server定義DataSource對象。JDBC元池為部署在BEA WebLogic Server集群內多臺服務器上的JDBC連接池提供集群。當客戶機向元池請求連接時,集群選擇將提供連接的服務器,進行負載均衡和保護,以防止服務器失效。一旦客戶機擁有一個連接,由JDBC驅動程序保存的狀態使它必需將客戶機與主BEA WebLogic Server綁定在一起。

    BEA WebLogic Server實例如何在網絡上通信 TOP
      
    每個BEA WebLogic Server實例運行在惟一IP地址的網絡上。整個集群的監聽端口必須相同。BEA WebLogic Server允許多宿主(multi-homing),這意味著可以分配多個IP地址給同一臺物理機器。因此多宿主主機有多個網絡接口,每個網絡接口可以運行一個BEA WebLogic Server實例。集群內BEA WebLogic Server實例彼此利用IP多播通信,用以向集群內的所有服務器復制某類信息。IP多播是一種簡單的廣播技術,它使多個應用程序能夠向某一給定IP多播地址和端口號“訂閱”,并監聽消息。
      集群中的每臺服務器都配置常用的多播地址。當服務器向集群的多播地址發送消息時,所有的服務器都接收消息。這比讓服務器發送點到點消息的效率要高得多,但它的確要求集群中的所有服務器必須在支持多播的網絡上。多播不能通過Internet上進行,因而集群不能經過Internet。
      BEA WebLogic Server把IP多播用于集群中各個服務器實例的所有一對多通信。例如:

    • 集群范圍內的JNDI更新——所有集群成員使用多播通知本地部署或者刪除服務的可用性。服務器監視這些通知,以便它們能更新其本地JNDI樹以反映當前的部署情況。
    • 集群“心跳(heartbeats)”——BEA WebLogic Server使用多播來廣播規律的“心跳”消息,通告集群內單個服務器實例的可用性。集群內的所有服務器將監聽心跳消息作為確定服務器失效時間的方法。“心跳”的使用是BEA WebLogic確定給定服務器實例是否可用的兩種機制之一。BEA WebLogic還監視IP套節字錯誤作為確定服務器失效時更直接的方法。例如,如果服務器實例A具有到實例B的開放套節字,而該套節字突然關閉了,則Server A假定Server B脫線了。

    配置和管理BEA WebLogic 集群 TOP
      
    作為一個單位來管理的內部相關BEA WebLogic Server資源集稱為域(domain)。一個域包括一臺或者多臺BEA WebLogic Server,也可能包括BEA WebLogic Server集群。域,以及集群可以跨多個物理機器生成。
      通過Administration Console,可以使用BEA的圖形用戶接口(GUI)管理和監視域、集群或者單獨的BEA WebLogic Server的配置。
      BEA WebLogic集群的重要特性之一是能夠把單一的視圖應用于集群內配置的所有單獨服務器上。在該意義上來說,集群被作為某一域內的實體進行管理。在域中配置集群時,集群的所有服務器必須也是該域的一部分。一個域可以包含多個集群。
      正在運行管理服務的BEA WebLogic Server稱為管理服務器(administration server)。管理服務提供配置和監控整個域的控制中心點。為了在該域進行任意管理操作,必須運行管理服務器。
      在擁有多臺BEA WebLogic Server的域中,只有一臺服務器是管理服務器,其他服務器稱為受管服務器(Managed Server)。每個BEA WebLogic受管服務器在啟動時從管理服務器獲得其配置。
      在生產系統的典型配置中,關于您的業務邏輯的應用程序和組件可以部署在受管服務器上,而管理服務器的作用是配置和監視受管服務器。如果管理服務器出現故障,部署在受管服務器上的應用程序不會受影響,繼續處理客戶機的請求。在這樣的情況下,管理服務器一旦重新啟動,就可以重新獲得活動域的管理控制。


    圖9:一般的BEA WebLogic Server域架構,它含有單獨的服務器、集群、多臺物理機器和單臺管理服務器

    配置集群 TOP
      利用BEA WebLogic Server的Domain Configuration Wizard,可以簡單快速地配置集群。通過直觀的圖形接口,管理員可以通過檢查一系列的窗口并輸入特定的參數來創建集群域。這些參數配置擁有管理服務器、受管服務器、物理機器,以及特定應用程序的JDBC數據源參數、JMS工廠和目的地、安全實體、JVM以及其他基本子系統和組件(圖10)的集群拓撲。驗證并記錄用戶提供的信息,并由這些信息生成完整的集群配置。


    圖10:用Domain Configuration Wizard配置BEA WebLogic Cluster

      Domain Configuration Wizard也可以創建域模板,這樣可以復制復雜的環境,簡化將集群應用程序轉入生產的冗長過程。
      BEA WebLogic Server域和集群的持久性配置保存在一個XML配置文件中。管理服務器動態管理該配置,并且用戶可以通過Administration Console使用它(圖11)。


    圖11:通過BEA WebLogic Server Administration Console管理集群域

      在Administration Console中可以完成的集群配置任務包括:

    • 利用Administration Console的Cluster節點配置服務器集群。利用該節點可以修改的屬性包括Cluster Name、Cluster ListenPort和集群中的服務器名稱。
    • 利用Administration Console的Cluster節點復制服務器集群。集群被復制,保持屬性值和原集群中各個服務器,以及在Server節點的Configuration部分設置的新集群名稱。
    • 利用Administration Console的Cluster節點監視集群中的服務器。
    • 利用Administration Console的Cluster節點為集群指派服務器。
    • 利用Administration Console的Cluster節點刪除集群。

    使用節點管理器(Node Manager)自動管理 TOP
      
    BEA WebLogic Server生產環境中的受管服務器通常被分布在多臺機器和多個地理位置。自動管理允許集群自管理和自動地對各種突發條件和情況做出反應。利用節點管理器實用程序大大方便了這一強大的特性。
      節點管理器是一個Java實用程序,在BEA WebLogic Server(圖12)中作為獨立的進程運行,允許您執行受管服務器的常規操作任務,而不管它與其管理服務器的相對位置如何。雖然節點管理器的使用是可以選擇的,但如果您的BEA WebLogic Server環境以高可用性要求托管應用程序,則它可提供極有價值的優點。


    圖12:多機集群域中的節點管理器

      與只刷新用戶請求信息顯示的Administration Console不同,節點管理器連續地監視受管服務器。通過基于JMX的開放管理接口,客戶可以基于節點管理器構建強大的事件通知和統計監視框架。同時,可以配置節點管理器自動對集群事件做出反應,并根據預先配置的條件采取某些行動。例如,節點管理器可以在突然失效后自動重啟某臺受管服務器,或者如果由某臺服務器所報告的某一統計參數低于配置的閾值時,則給管理員發送消息。

      有關配置和管理BEA WebLogic服務器、集群和域的更多信息,請參閱BEA WebLogic在線文檔,其網址是:http://e-docs.bea.com/wls/docs81/adminguide/

    結束語 TOP
      
    本白皮書概述了BEA WebLogic Server中的集群特點,說明了BEA WebLogic架構如何使用集群技術提供企業客戶所需的高可用性和可伸縮性。
      有關BEA WebLogic集群技術的更多細節,請參閱BEA WebLogic Server文檔,其網址是:http://e-docs.bea.com/wls/docs81
      BEA WebLogic集群的目的之一是消除集群內的單點故障。這一點是通過架構實現冗余來達到的。在硬件或者電源故障事件中,客戶機能夠利用這種冗余自動故障切換到某一正在運行的系統資源上。正是這種避免停機的能力為BEA客戶提供了24×7可管理的保證。
      另一個目標是推動高度可伸縮的企業電子商務基礎結構,這在當今的動態業務環境中可使增長能力無限。
      BEA相信BEA WebLogic集群技術是業內最先進的,并且向客戶提供最高級別的可伸縮性和任務關鍵型應用程序最需要的可靠性。
      BEA WebLogic集群,加上其他的性能和可伸縮性特性,例如JDBC連接池和多池、高級緩存、只讀/可改寫的只讀實體bean以及線程池,使WebLogic Server成為市場上最可靠、最具伸縮性和性能最強的Java應用服務器。這也是一些大客戶,如FedEx、Charles Schwab、Amazon.com和很多其他客戶在WebLogic Server上構建其任務關鍵型應用程序的原因。
      BEA WebLogic Server是BEA E-Business Platform?的基礎。BEA E-Business Platform專門設計成能夠跨多個應用程序和系統共享數據和服務,它是構建在各種開放標準之上的基礎結構產品集成套件,這些開發的標準支持大量事務、業務流程管理、應用程序集成、企業內和企業之間的業務協作以及創建和維護動態電子市場(e-market)的能力。
      要了解關于BEA WebLogic Enterprise Platform?的更多信息,請訪問 BEA Web站點,其網址是: www.bea.com/

    BEA 簡介 TOP
      
    BEA是世界上領先的應用程序基礎架構軟件公司,在世界各地的客戶超過13000家,包括Fortune全球500強企業中的大多數。BEA WebLogic Enterprise Platform提供工業強度(industrial strength)的、易于使用的軟件基礎,使企業更靈活、生產率更高和連接更強,從而顯著地增加了IT生產率并加快了投資回報。BEA的平臺是超過1700家系統集成商、獨立軟件開發商,以及與BEA合作以確保成功部署客戶解決方案的應用程序服務提供商們的事實標準。

    BEA Systems, Inc.
    2315 North First Street
    San Jose, CA 95131 U.S.A.
    電話: +1.408.570.8000
    傳真: +1.408.570.8901
    網址:http://www.bea.com

    原文出處:
    http://dev2dev.bea.com/products/wlserver81/whitepapers/WLS_81_Clustering.jsp

    posted on 2005-07-09 20:52 笨笨 閱讀(2476) 評論(0)  編輯  收藏 所屬分類: J2EEALLWeblogic Portal
    主站蜘蛛池模板: 四虎永久免费地址在线网站| 亚洲午夜精品一区二区麻豆| jjzz亚洲亚洲女人| 69视频在线是免费观看| www永久免费视频| 亚洲av日韩av永久在线观看| 亚洲成人黄色在线| 久久久久无码精品亚洲日韩| 亚洲成年看片在线观看| 在线jlzzjlzz免费播放| 无码一区二区三区AV免费| 久久国产免费一区| 免费的全黄一级录像带| 香蕉免费一级视频在线观看| 四虎精品免费永久免费视频| 边摸边脱吃奶边高潮视频免费| 亚洲综合av一区二区三区不卡| 亚洲成A∨人片在线观看无码| 亚洲成年轻人电影网站www| 77777亚洲午夜久久多人| 亚洲电影日韩精品| 国产极品粉嫩泬免费观看| 性感美女视频在线观看免费精品 | 免费A级毛片无码A∨免费| 91免费福利视频| 老司机精品免费视频| jizz中国免费| 久久免费国产精品| 成年免费a级毛片免费看无码| 国产精品高清免费网站| 黄桃AV无码免费一区二区三区| 国产精品高清免费网站| 最近中文字幕大全免费版在线 | 亚洲中久无码不卡永久在线观看| 亚洲成A人片在线观看无码3D | 尤物视频在线免费观看| 在线播放免费人成视频网站| eeuss草民免费| 久久国产免费观看精品| 99久久99久久免费精品小说 | 亚洲成年人免费网站|