負載平衡器嘗試在多個 Application Server 之獨立或叢集的實例間平均分散工作負荷量,從而增加了系統的整體流量。
HTTP 負載平衡器可使部署到 Java EE 應用程式伺服器的服務具有高可用性。此舉能在偵測到無法使用原始提供服務的實例,或者此實例運作不正常無法處理請求時,將階段作業請求容錯移轉至另一個伺服器實例。如果要使 HTTP 階段作業資訊持續運作,您必須使用叢集設定檔、安裝並設定 HADB,同時配置 HTTP 階段作業的持續性。如需更多資訊,請參閱第 9 章, 配置高可用性階段作業持續性和容錯移轉。
負載平衡器不處理大於 8K 的 URI/URL。
Sun Java System Application Server 負載平衡器預設會使用居留式循環演算法對內送 HTTP 和 HTTPS 請求進行負載平衡。
新 HTTP 請求傳送到負載平衡器外掛程式後,系統將基於簡單的循環方案,將該請求轉寄至某個 Application Server 實例。如果是階段作業型應用程式的請求,則此類請求也將包括新階段作業的請求。相同用戶端對相同的階段作業型應用程式所提出的後續請求,都會視為指定或居留式請求,且負載平衡器會將該請求路由至相同的實例。因此稱為居留式循環。非階段作業型應用程式請求以及階段作業型應用程式的第一個請求,稱為未指定請求。居留特性是透過 Cookie 或明確採用 URL 重寫功能達成。負載平衡器會自動決定居留方法。
負載平衡器外掛程式使用以下方法來決定階段作業居留:
Cookie 方法:負載平衡器外掛程式使用獨立的 Cookie 來記錄路由資訊。HTTP 用戶端 (通常是 Web 瀏覽器) 必須支援 Cookie,才能使用基於 Cookie 的方法。如果 HTTP 用戶端無法接受 Cookie,則外掛程式會使用下列方法。
明確的 URL 重新寫入︰居留式資訊會附加至 URL。即使 HTTP 用戶端不支援 Cookie,也可以使用此方法。
負載平衡器外掛程式首先從居留式資訊確定此請求先前轉寄到哪個實例。如果發現該實例正常,負載平衡器外掛程式會將請求轉寄至該特定 Application Server 實例。因此,指定階段作業的所有請求都將會傳送到同一個 Application Server 實例。