叢集是 Application Server 實例集合,這些實例共同做為一個邏輯實體工作。叢集為一個或多個 J2EE 應用程式提供了執行階段環境。高可用性叢集將狀態複製服務與叢集和負載平衡器整合。
使用叢集可提供以下優勢:
高可用性 (透過允許為叢集中的伺服器實例提供容錯移轉保護來實現)。如果一個伺服器實例當機,其他伺服器實例將接管該伺服器實例正在服務的請求。
可延伸性 (透過允許向叢集中增加伺服器實例,從而增加系統的容量來實現)。負載平衡外掛程式將請求分配給叢集中可用的伺服器實例。當管理員向叢集中新增更多伺服器實例時,無需中斷服務。
叢集中的所有實例:
參照相同的配置。
具有相同的已部署應用程式集 (例如,J2EE 應用程式 EAR 檔案、Web 模組 WAR 檔案或 EJB JAR 檔案)。
具有相同的資源集,從而產生相同的 JNDI 名稱空間。
網域中的每一個叢集都具有唯一的名稱;此外,該名稱在所有節點代理程式名稱、伺服器實例名稱、叢集名稱和配置名稱中也必須是唯一的。此名稱不能為 domain。您在叢集上執行的作業 (例如,部署應用程式和建立資源) 與在非叢集伺服器實例上執行之作業相同。
叢集的設定取自已命名的配置 (可能能夠與其他叢集共用)。不與其他伺服器實例或叢集共用配置的叢集稱之為具有獨立配置。依預設,此配置的名稱為 cluster_name -config,其中,cluster_name 為叢集的名稱。
與其他叢集或實例共用配置的叢集稱之為具有共用配置。
叢集、伺服器實例、負載平衡器和階段作業相互關係如下:
伺服器實例不一定是叢集的一部分。但是,不屬於叢集的實例無法通過將階段作業狀態從一個實例傳送到其他實例來利用高可用性。
可以將叢集中的伺服器實例託管在一台或多台機器上。可以將不同機器上的伺服器實例群組為一個叢集。
特定負載平衡器可以向多個叢集中的伺服器實例轉寄請求。您可以使用負載平衡器的此功能來執行線上升級,而不使服務受到損失。如需更多資訊,請參閱升級元件而不會使服務受到損失。
單一叢集可以從多個負載平衡器接收請求。如果叢集由多個負載平衡器提供服務,則必須以完全相同的方式在每個負載平衡器上配置叢集。
每個階段作業都與特定的叢集連結在一起。因此,雖然您可以在多個叢集上部署一個應用程式,但階段作業容錯移轉仍僅在一個叢集內發生。
因此,對於叢集中的伺服器實例,叢集充當的是階段作業容錯移轉的安全邊界。在 Application Server 中,可以使用負載平衡器和升級元件,而不使服務受到任何損失。