WebSphere Extended Deployment 可以動態且積極地使應用程式伺服器之間 分送的 HTTP 階段作業維持平衡。
WebSphere Application Server 會依據應用程式伺服器親緣性,來指派 HTTP 階段作業。 當在特定的應用程式伺服器中建立階段作業之後,後續產生,並且隸屬於相同階段作業的要求, 都會指派給具有已建立階段作業親緣性的應用程式伺服器。
階段作業親緣性可以使叢集在一段長時間內的負荷量維持平衡, 並且若發生任何不平衡,也通常是短期性,並且可以接受的範圍。 不過,階段作業重新平衡也可以用來協助一些可能會發生的短期性不平衡, 並且不需要更改階段作業親緣性的效能優點。
WebSphere Extended Deployment 引進階段作業重新平衡,以加速在叢集內的階段作業維持平衡。 如果您使用分散式階段作業,並且使用 Cookie 來追蹤階段作業時,就可以使用階段作業重新平衡。
當有新伺服器加入動態叢集時,該伺服器並未被指派任何 HTTP 階段作業。 不過,在動態叢集內的現有的伺服器,會具有已指派親緣性的階段作業。 階段作業重新平衡的目標是重新分派階段作業,使每部伺服器都可以取得 所有現有階段作業的相等比例。會指派給新應用程式伺服器多少階段作業數目, 是依據現有的每部應用程式伺服器取得的階段作業數目,以及每部應用程式伺服器 的權重來判定。在每部應用程式伺服器中執行的階段作業重新平衡功能, 會得知何時有新的應用程式伺服器加入,以及每部伺服器的階段作業權重與數目。 有了這些數字,應用程式伺服器就可以判定需要從現有的應用程式伺服器 轉移多少個階段作業到新的應用程式伺服器。 所需要轉移的階段作業數目,隨即會傳遞給動態地附加在伺服器上的 HTTP Servlet 過濾器, 以開始截取階段作業要求,並將其重新導向。
若有啟用階段作業重新平衡功能,並且在動態叢集中啟動了新的伺服器, 就會發生下列動作,將階段作業要求重新分送至新的伺服器:
如果您使用的階段作業是由 URL 重新編寫或 Secure Sockets Layer (SSL) ID 維護, 就不會執行重新平衡。此外,HTTP POST 要求也不會執行重新平衡。 如果階段作業是透過向應用程式伺服器 HTTP 埠直接發出 HTTP 要求方式存取, 因而略過隨需應變路由器,就不會執行階段作業重新平衡。 記憶體階段作業的 PMI 計數器會反映出所轉移的階段作業數目。 具體而言,當階段作業從現有的伺服器移出時,其 PMI 計數會降低, 但在剛剛啟動的新伺服器上則會提高。 不過,叢集內的任意伺服器之新階段作業,都會維持負載平衡。 如需有關分析 PMI 資料以及使用 HTTP 階段作業的最佳實務資訊, 請參閱 WebSphere Application Server Network Deployment 資訊中心。
若要啟用或停用階段作業重新平衡功能,可以在管理主控台中,調整 HttpSessionRebalanceOff 自訂內容。如需詳細資訊,請參閱自訂應用程式放置的內容。