負載平衡器會在多個伺服器之間散佈傳入服務要求,以便負載分佈對於使用者是透明的。負載平衡可協助達到最佳資源使用量、最大化輸送量、最小化回應時間並避免超載。

NSX 負載平衡器支援兩個負載平衡引擎。第 4 層負載平衡器以封包為基礎,用於提供快速路徑處理。第 7 層負載平衡器以通訊端為基礎,針對後端服務支援進階流量管理策略和 DDOS 緩和。

由於 NSX Data Center for vSphere 閘道對外部網路的傳入流量進行負載平衡,因此會在外部介面上設定此 Edge 閘道的負載平衡。設定虛擬伺服器以進行負載平衡時,指定組織 VDC 中具有的其中一個可用 IP 位址。

負載平衡策略和概念

以封包為基礎的負載平衡策略在 TCP 和 UDP 層上實作。以封包為基礎的負載平衡不會停止連線,也不會緩衝整個申請,而是在操作封包之後,將封包直接傳送至選取的伺服器。TCP 和 UDP 工作階段均保留在負載平衡器中,以便單一工作階段的封包會導向至相同的伺服器。您可以在全域組態及相關虛擬伺服器組態中選取 [已啟用加速],從而啟用以封包為基礎的負載平衡。

以通訊端為基礎的負載平衡策略在通訊端介面的頂層實作。針對單一申請建立兩個連線,即用戶端對向連線和伺服器對向連線。伺服器對向連線在選取伺服器之後建立。對於以 HTTP 通訊端為基礎的實作,會在傳送到具有選擇性 L7 操作的所選伺服器之前接收整個申請。對於以 HTTPS 通訊端為基礎的實作,會針對用戶端對向連線或伺服器對向連線交換驗證資訊。以通訊端為基礎的負載平衡是 TCP、HTTP 以及 HTTPS 虛擬伺服器的預設模式。

NSX 負載平衡器的主要概念包括虛擬伺服器、伺服器集區、伺服器集區成員以及服務監視器。

虛擬伺服器
虛擬伺服器是應用程式服務的抽象形式,由 IP、連接埠、通訊協定和應用程式設定檔 (例如 TCP 或 UDP) 的唯一組合來表示。
伺服器集區
後端伺服器的群組。
伺服器集區成員
以集區成員表示後端伺服器。
服務監視器
定義如何探查後端伺服器的健全狀況狀態。
應用程式設定檔
表示指定應用程式的 TCP、UDP、持續性和憑證組態。

設定概觀

從設定負載平衡器的全域選項開始。現在可以建立由後端伺服器成員組成的伺服器集區,並將服務監視器與集區建立關聯,以有效地管理和共用後端伺服器。

然後,建立應用程式設定檔以定義負載平衡器中的一般應用程式行為,例如用戶端 SSL、伺服器 SSL、x-forwarded-for 或持續性。持續性會傳送具有類似特性的後續申請,例如需要將來源 IP 或 Cookie 分派給相同的集區成員,而無需執行負載平衡演算法。應用程式設定檔可以跨虛擬伺服器重複使用。

然後,建立選擇性應用程式規則以設定用於流量操作的應用程式專屬設定,例如比對特定 URL 或主機名稱,以便不同的申請可以由不同的集區進行處理。接著,建立專屬於應用程式的服務監視器,也可以使用現有的服務監視器 (如果符合您的需求)。

或者,您也可以建立應用程式規則,以支援 L7 虛擬伺服器的進階功能。應用程式規則的某些使用案例包括內容切換、標頭操作、安全性規則以及 DOS 防護。

最後,建立將伺服器集區、應用程式設定檔和任何潛在的應用程式規則連在一起的虛擬伺服器。

當虛擬伺服器收到申請時,負載平衡演算法會考慮集區成員組態和執行階段狀態。然後,演算法會計算適當的集區以分配包含一或多個成員的流量。集區成員組態包括權重、連線數上限和條件狀態等設定。執行階段狀態包括目前連線數、回應時間和健全狀況檢查狀態資訊。計算方法可以是循環配置資源、加權循環配置資源、連線數下限、來源 IP 雜湊、加權連線數下限、URL、URI 或 HTTP 標頭。

每個集區由相關聯的服務監視器進行監控。當負載平衡器偵測到集區成員有問題時,會將其標記為 [關閉]。從伺服器集區選擇集區成員時,只會選取處於 [啟動] 狀態的伺服器。如果伺服器集區未設定服務監視器,會將所有集區成員視為 [啟動]。