Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性管理指南

負載平衡器的工作方式

負載平衡器嘗試在多個應用程式伺服器實例 (獨立或叢集) 之間平均分散工作負荷量,從而增加了系統的總流量。

使用負載平衡器還可以滿足從一個伺服器實例容錯移轉到另一個伺服器實例的請求。對於要持續的 HTTP 階段作業資訊,請配置 HTTP 階段作業持續性。如需更多資訊,請參閱第 8 章, 配置高可用性階段作業持續性和容錯移轉

如需有關配置負載平衡的完整說明,請參閱「Sun Java System Application Server 高可用性管理指南」。

使用 asadmin 工具而非管理主控台配置 HTTP 負載平衡。

另請參閱:

指定的請求與未指定的請求

首次從 HTTP 用戶端傳入負載平衡器的請求為新階段作業的請求。新階段作業的請求稱為未指定的請求。負載平衡器會根據循環演算法將此請求路由到叢集中的應用程式伺服器實例。

在某個應用程式伺服器實例中建立階段作業後,負載平衡器會將此階段作業的所有後續請求都路由到該特定實例而且僅路由到該實例。現有階段作業的請求稱為指定的請求或居留式請求。

HTTP 負載平衡演算法

Sun Java System Application Server 負載平衡器使用居留式循環演算法對內送 HTTP 和 HTTPS 請求進行負載平衡。給定階段作業的所有請求都將會傳送到同一個應用程式伺服器實例。使用居留式負載平衡器,階段作業資料將快取在單一應用程式伺服器上,而不會分布到叢集中的所有實例。

因此,居留式循環方案能夠帶來顯著的效能優勢,這種優勢通常超過了使用純循環方案所獲得的使負載更加平均分佈的優勢。

新 HTTP 請求傳送到負載平衡外掛程式後,系統將基於簡單的循環方案將該請求轉寄至某個應用程式伺服器實例。隨後,透過使用 Cookie 或明確的 URL 重新寫入將該請求「居留」在此特定的應用程式伺服器實例上。

從居留式資訊中,負載平衡器外掛程式將首先確定請求先前轉寄到的實例。如果發現該實例正常工作,負載平衡器外掛程式會將請求轉寄至該特定應用程式伺服器實例。因此,給定階段作業的所有請求都將會傳送到同一個應用程式伺服器實例。

負載平衡器外掛程式使用以下方法來確定階段作業居留性:

應用程式範例

以下目錄包含用於演示負載平衡和容錯移轉的範例應用程式:

install_dir/samples/ee-samples/highavailability
install_dir/samples/ee-samples/failover

ee-samples 目錄還包含設定環境以執行範例的資訊。