IBM WAS ND分布式網路環境的理解與集群的實現

2022-12-25 20:39:03 字數 4585 閱讀 8345

如今的電子商務及電子政務應用系統的發展已經到了乙個新的階段,應用系統的成熟度和可用性都達到了更高的水準。因此龐大的部署規模和海量的使用者訪問成為目前大型電子商務及電子政務應用系統的顯著特徵。在這樣的情況下,企業對系統關鍵業務:

如金融資訊,通訊,交通等要求確保系統24*7*365不停歇執行業務的分布式部署結構和負載抗壓能力,以及高可用性都提出了更高的要求。ibm was nd產品可以幫助我們在多應用伺服器分布式部署環境下實現集群,確保系統的負載能力和高可用性。

下面按照邏輯概念的層次關係,由大到小依次了解ibm was nd產品定義的分布式網路環境中的相關概念。

單元(cell)

單元是整個分布式網路中乙個或多個節點的邏輯分組。單元是乙個配置概念,是管理員將節點間邏輯關聯起來的實現方法。管理員根據具體的業務環境,制定對其整體系統整合環境有意義的條件來定義和組織構成單元的節點。

如圖1所示,就一般情況來說,可以將單元看作是最大的作用域。

在ibm was nd產品中,管理配置資料都儲存在 xml 檔案中。單元保留了它每個節點中每台伺服器的主配置檔案。同時每個節點和伺服器也有其自己的本地配置檔案。

如果伺服器已經屬於單元,則對於本地節點或伺服器配置檔案的更改都是臨時的,通過在本地提交更改生效時,本地更改覆蓋單元配置,但是當執行單元配置文件同步到節點的操作時,在單元級別上對主控伺服器和主節點配置檔案所作的更改將會替換對該節點所作的任何臨時更改。

同步操作在指定的事件發生時進行,例如伺服器啟動時等很多操作。也就是說,通過對本地節點或伺服器配置檔案進行修改而達到調整節點或伺服器配置的做法不是安全的,臨時修改很容易被同步操作所覆蓋。

圖 1. 單元的作用域

deployment manager

deployment manager 是管理**程式,它提供集中式管理單元中所有節點的視覺化人機互動管理檢視。之前提到單元是乙個邏輯上的配置概念,那麼deployment manager 就為單元中所有元素提供了單一的管理控制中心點。每個單元都會包含乙個 deployment manager,由deployment manager提供管理功能來修改單元的主配置檔案。

在最新的版本中還提供集群管理以及在乙個或多個節點作用域內進行應用程式伺服器工作負載平衡。

圖 2. 由deployment manager提供管理功能來修改單元的主配置檔案

節點(node)

節點是受管伺服器(server)的邏輯分組。節點通常與具有唯一 ip主機位址的邏輯或物理計算機系統對應,節點不能跨多台計算機。節點分為受管節點與非受管節點。

ibm was nd 拓撲中的節點可能是受管的,也可能是非受管的。受管節點有相應的 node agent 程序來管理它的配置和伺服器。非受管節點沒有 node agent。

node agent 表示管理單元中的節點並負責保持配置始終處於最新狀態。非受管節點對於單元來說是未知的,所以 deployment manager 無法對其進行管理。

分布式網路環境中的非受管節點可以有伺服器定義(例如 web 伺服器),但不能有應用程式伺服器定義,並且非受管節點無法新增 node agent,因此它不能成為受管節點。另外一種情況在獨立應用程式伺服器環境中,節點尚且沒有 node agent,它們也可以暫時被視為非受管節點,但是這類節點可以通過聯合獨立應用程式伺服器而變為單元中的受管節點。通過調整獨立應用程式伺服器概要檔案,將單獨的server節點新增到單元,這個過程稱為聯合。

在聯合獨立應用程式伺服器時,節點將自動建立 node agent,該節點就可以被deployment manager 管理。

圖 3. ibm was nd 拓撲中的受管節點與非受管節點

node agent

node agent 是將管理請求路由至伺服器的管理**程式。node agent 是伺服器,是乙個管理**程式,並不涉及應用程式服務功能。node agent 程序在每個受管節點上執行,並專門執行特定於節點的管理功能,如伺服器程序監視、配置同步、檔案傳輸和請求路由。

deployment manager通過與node agent的互動完成對單元內節點的控制。

圖 4. node agent

was plug-in

在前面的章節我們討論過受管節點是通過node agent程序與deployment manager互動。而非受管節點,最常見的是web伺服器節點(如ibm http server),則是通過web 伺服器外掛程式方式來接受deployment manager管理,加入到單元當中來的。ibm was nd產品支援所有符合規範的web 伺服器的基本管理功能,可以為所有支援的 web 伺服器生成外掛程式配置。

外掛程式生成之後,對於非受管節點,可以通過「傳播給遠端 web 伺服器」完成外掛程式配置;如果定義在受管節點上,則直接通過節點間同步即可完成外掛程式配置的傳播。

web 伺服器外掛程式允許 web 伺服器將動態內容的請求傳送到應用程式伺服器。web 伺服器外掛程式與每個 web 伺服器定義關聯。為每個外掛程式生成的配置檔案(基於通過關聯的 web 伺服器路由的應用程式。

web 伺服器外掛程式幫助面向的網路中的應用程式伺服器之間的工作負載平衡,改進請求響應時間。

圖 5. 非受管節點通過外掛程式接受管理

概要檔案(profile)

概要檔案定義乙個獨立應用程式伺服器(server)的執行時環境,包括伺服器在執行時環境中處理的所有檔案。建立獨立應用程式伺服器時應該使用概要檔案而不是多個產品安裝,這樣只需要保留一組產品核心檔案即可,管理能力將得到極大的增強。不僅節省了磁碟空間,而且簡化了產品的更新,只需要保留一組產品核心檔案即可。

而且與完整產品安裝相比,建立新概要檔案更快速,而且減少了出錯的可能性,這允許開發者建立單獨的產品概要檔案以進行開發和測試。核心產品檔案是由所有概要檔案共享的產品二進位制檔案,如果希望二進位制檔案位於不同服務級別,在應用安裝時設定。概要檔案管理工具未提供刪除功能,所以必須使用 manageprofiles 命令來刪除概要檔案。

使用概要檔案建立獨立應用程式伺服器,則每個定義的應用程式伺服器程序都在 profiles 目錄內,除非在建立概要檔案時指定新目錄。如果將概要檔案放在安裝根目錄中,則存在概要檔案可能被例行系統維護破壞的風險。這些檔案在隨建立新的概要檔案、重新配置現有的概要檔案或刪除概要檔案等操作而更改。

ibm was nd提供了多種型別的概要檔案,以下是最常用的三種:

單元概要檔案

基本功能是在 deployment manager的管理下將應用程式提供給網際網路或內部網。建立單元概要檔案其實就是同時建立deployment manager 概要檔案和已聯合到單元的節點概要檔案,構建乙個最簡單的單元環境。在建立初始單元概要檔案後,可單獨建立定製概要檔案或獨立概要檔案,再通過聯合操作將他們新增到 deployment manager管理的單元環境中。

deployment manager 概要檔案

基本功能是將應用程式部署到was的管理單元。每個屬於該單元的server都作為受管節點引用。

application server 概要檔案

基本功能是將應用程式提供給網際網路或內部網。ibm was nd 產品的重要功能就是通過將 server 節點新增到單元,調整獨立應用程式伺服器概要檔案。單元中的多個應用程式伺服器程序可以部署它需要的應用程式。

也可以從單元除去 server 節點以將節點返回到獨立應用程式伺服器的狀態。每個獨立應用程式伺服器都具有其自己的管理控制台應用程式,可以使用它來管理server。

圖 6. 乙個節點對應乙個概要檔案,乙個節點內可以有多個server

集群(cluster)

集群是一起進行管理並參與工作負載管理的多個伺服器集合。作為集群成員的伺服器可以位於不同的主機上,與此相對的是作為同一節點下的伺服器必須位於同一臺主機上。單元可以沒有集群,也可以有乙個或多個集群。

集群負責平衡伺服器之間的工作負載。作為集群一部分的伺服器稱為集群成員。當在集群上安裝應用程式時,會在每個集群成員上自動安裝此應用程式。

當刪除集群時,也就同時刪除了該集群的成員的任何應用程式伺服器。沒有辦法儲存任何集群的成員。除去集群成員的僅有方法就是刪除應用程式伺服器。

如果希望保留要刪除的集群中的應用程式或模組,則應該先將這些模組重新對映至另一集群。

圖 7. 由兩個節點內的三個server組成的集群

關於node、profile與server

這三個概念比較容易混淆,我們拿出來對比說明:node=profile。node是管理上使用的概念,profile是實際的概要檔案,它們代表同一事物。

server 就是所謂的 application server instance , 這是我們實際要佈署 application 的地方。在ibm was nd 產品中受管節點的node agent 目的就是讓 deployment manager server 可以透過 node agent 來管 node (profile) 中的 application server instance,乙個 node (profile) 中可以有多個 application server instance。

如果是非nd版本 , 則屬於 single server 版本,那麼乙個 node (profile) 中只能有乙個 application server instance,如果你希望在一台機器上有多個 application server instance,那就只能透過建立多個 profile (node) 來達成,但這些 node (porfile) 彼此獨立沒有管理上的關係 (relationship),只要使用的 tcp/ip port 不要衝突即可。

乙個較為複雜的例項

table 1. 測試伺服器情況

分布式能源

天然氣分布式能源專案 des 開發及審批流程 2014 7 11 1 專案開發區域選擇 選擇地區 經濟發達 能源品質要求高的城市,以及天然氣 有保障,天氣氣以及電 熱價有利潤空間或有專門補貼支援政策的地區 選擇物件 適合做分布式能源站的使用者包括製造業園區 高新區 技術開發區 城市規劃新區或中小城鎮...

分布式系統

學院 計算機學院 專業 網路工程 班級 xx 姓名 xx 學號 xx 第一步 建立控制台 開始這個過程首先要在 執行 命令中輸入microsoft management console 管理控制台,mmc 命令。當你輸入之後,windows將會載入乙個空的管理控制台。現在,你要在控制台的 檔案 選單...

分布式能源優勢

由於可以提高能源利用率和供電安全性,實現按需供能以及為使用者提供更多選擇,分布式能源系統成為全球電力行業和能源產業的重要發展方向。當前,由於一次能源逐漸短缺,環境壓力越來越大,追求高效 低碳 清潔利用能源是發展的必然趨勢。在世界飽受能源緊缺問題困擾的情況下,美國以及丹麥等歐洲國家近年來通過推廣應用分...