Sun Java System Application Server 9.1 高可用性管理指南

高可用性簡介

高可用性應用程式和服務可持續提供其功能,而不考量硬體和軟體故障。這類應用程式有時亦稱為提供五個九的可靠性,因為開發這類產品的目的就是在 99.999% 的時間內都能供人使用。

Application Server 提供下列高可用性功能:

高可用性階段作業持續性

Application Server 可為 HTTP 請求和階段作業資料 (HTTP 階段作業資料和有狀態階段作業 Bean 資料) 提供高可用性。

Java EE 應用程式通常具有大量階段作業狀態資料。Web 購物車即為階段作業狀態的經典範例。而且,應用程式可以快取頻繁需要的階段作業物件資料。實際上,幾乎所有需要進行大量使用者互動活動的應用程式均需要維護階段作業狀態。HTTP 階段作業和有狀態階段作業 Bean (SFSB) 均具有階段作業狀態資料。

對於一般使用者而言,在伺服器故障時保留階段作業狀態是很重要的。為了提供高可用性功能,Application Server 為階段作業狀態資料提供下列類型的儲存方式:

如果主控使用者階段作業的 Application Server 實例故障,則可回復階段作業狀態,且階段作業可以繼續而無資訊遺失。

如需有關如何設定高可用性階段作業持續性的詳細說明,請參閱第 9 章, 配置高可用性階段作業持續性和容錯移轉

高可用性 Java 訊息服務

Java 訊息服務 (JMS) API 是一種允許 Java EE 應用程式和元件建立、傳送、接收以及讀取郵件的郵件傳送標準。它可啟用可靠的非同步鬆耦合分散式通訊。實作 JMS 的 Sun Java System Message Queue (MQ) 與 Application Server 緊密整合在一起,可讓您建立諸如訊息驅動 Bean (MDB) 之類依賴 JMS 的元件。

JMS 透過連線池儲存和容錯移轉及 MQ 叢集來提供高可用性功能。如需更多資訊,請參閱第 10 章, Java 訊息服務的負載平衡和容錯移轉

連線池儲存和容錯移轉

Application Server 支援 JMS 連線池儲存和容錯移轉。Application Server 可自動將 JMS 連線儲存在池中。依預設,Application Server 會從指定的主機清單中隨機選取其主要的 MQ 代理程式。發生容錯移轉時,MQ 不需設定即可將負載傳輸至其他代理程式並可保持 JMS 語義不變。

如需有關 JMS 連線池儲存和容錯移轉的更多資訊,請參閱連線池儲存和容錯移轉

MQ 叢集

MQ Enterprise Edition 支援多個互連的代理程式實例 (稱為代理程式叢集)。對於代理程式叢集,用戶端連線會分散至叢集中的所有代理程式。叢集可提供水平可延伸性並可提高可用性。

如需有關 MQ 叢集的更多資訊,請參閱將 MQ 叢集與應用程式伺服器配合使用

RMI-IIOP 負載平衡和容錯移轉

使用 RMI-IIOP 負載平衡時,IIOP 用戶端請求會分散至不同的伺服器實例或名稱伺服器,以便在叢集內平均分散負載,因而提高延伸性。結合了 EJB 叢集和可用性的 IIOP 負載平衡還可提供 EJB 容錯移轉。

當用戶端以 JNDI 查找物件時,命名服務會將請求連結到特定的伺服器實例。從這時開始,來自該用戶端的所有查找請求都會傳送至同一伺服器實例,因此所有 EJBHome 物件都會放在相同的目標伺服器上。之後取得的所有 Bean 參照也會建立在相同的目標主機上。這可以提供有效的負載平衡,因為所有用戶端在執行 JNDI 查找時,都會隨機製作目標伺服器清單。如果目標伺服器實例當機,則查詢或 EJB 方法呼叫將容錯移轉至其他伺服器實例。

IIOP 負載平衡與容錯移轉不需設定即可執行。在部署應用程式期間,無需特殊的步驟。如果部署應用程式用戶端的 Application Server 實例加入叢集,則此 Application Server 會自動在叢集中尋找目前所有使用中的 IIOP 端點。不過,用戶端至少應該為啟動程序指定兩個端點,以便在一個端點故障時使用另外一個端點。

如需有關 RMI-IIOP 負載平衡和容錯移轉的更多資訊,請參閱第 11 章, RMI-IIOP 負載平衡和容錯移轉

更多資訊

如需有關規劃高可用性部署 (包括評估硬體需求、規劃網路配置和選取拓樸) 的資訊,請參閱「Sun Java System Application Server 9.1 部署規劃指南」。此手冊還提供以下概念的高階簡介:

如需有關開發應用程式以運用高可用性功能優點的更多資訊,請參閱「Sun Java System Application Server 9.1 Developer’s Guide」

調校高可用性伺服器和應用程式

如需有關如何配置和調校應用程式及 Application Server 以取得高可用性最佳效能的資訊,請參閱「Sun Java System Application Server 9.1 Performance Tuning Guide」,該書說明以下主題: