負載平衡器嘗試在多個應用程式伺服器實例 (獨立或叢集) 之間平均分布工作負荷量,從而增加了系統的總流量。
使用負載平衡器還可以滿足從一個伺服器實例防故障備用到另一個伺服器實例的請求。如果要使 HTTP 階段作業資訊持續運作,您必須使用 Enterprise Edition、安裝並設定 HADB,同時配置 HTTP 階段作業的持續性。如需更多資訊,請參閱第 9 章, 配置高可用性階段作業持續性和容錯移轉。
負載平衡器不處理大於 8K 的 URI/URL。
使用 asadmin 公用程式而非 Admin Console 來配置 HTTP 負載平衡。
本節包含下列主題:
首次從 HTTP 用戶端傳入負載平衡器的請求為新階段作業的請求。新階段作業的請求稱為未指定的請求。負載平衡器會根據循環演算法將此請求路由到叢集中的應用程式伺服器實例。
在某個應用程式伺服器實例中建立階段作業後,負載平衡器會將此階段作業的所有後續請求都路由到該特定實例而且僅路由到該實例。現有階段作業的請求稱為指定的或居留式請求。
Sun Java System Application Server 負載平衡器使用居留式循環演算法對內送 HTTP 和 HTTPS 請求進行負載平衡。給定階段作業的所有請求都將會傳送到同一個應用程式伺服器實例。使用居留式負載平衡器,階段作業資料將快取在單一應用程式伺服器上,而不會分布到叢集中的所有實例。
因此,居留式循環方案能夠帶來顯著的效能優勢,這種優勢通常超過了使用純循環方案所獲得的使負載更加平均分佈的優勢。
新 HTTP 請求傳送到負載平衡外掛程式後,系統將基於簡單的循環方案將該請求轉寄至某個 Application Server 實例。隨後,透過使用 Cookie 或明確的 URL 重新寫入將該請求「居留」在此特定的 Application Server 實例上。負載平衡器會自動決定居留方法。
負載平衡器外掛程式使用以下方法來確定階段作業居留性:
Cookie 方法:負載平衡外掛程式使用單獨的 Cookie 來記錄路由資訊。若要使用基於 Cookie 的方法,HTTP 用戶端必須支援 Cookie。
明確的 URL 重新寫入︰居留式資訊會附加至 URL。即使 HTTP 用戶端不支援 Cookie,也可以使用此方法。
從居留式資訊中,負載平衡器外掛程式將首先確定請求先前轉寄到的實例。如果發現該實例正常工作,負載平衡器外掛程式會將請求轉寄至該特定應用程式伺服器實例。因此,給定階段作業的所有請求都將會傳送到同一個應用程式伺服器實例。
以下目錄包含用於演示負載平衡和容錯移轉的範例應用程式:
install-dir/samples/ee-samples/highavailabilityinstall-dir/samples/ee-samples/failover
ee-samples 目錄還包含有關設定環境以執行範例的資訊。