今天來寫網路設計中非常實用且常見的兩種負載平衡器(Load Balancer, LB)部署架構
(一)One-Arm (單臂) 架構
在 One-Arm 架構中,負載平衡器(LB)只使用一個或一組邏輯介面(如一個 VLAN 或一個 Trunk Port)連接到網路中,LB 與後端伺服器和外部客戶端位於同一個廣播域(或同一個 VLAN)。
A. 運作原理
單一子網: 客戶端(Client)、負載平衡器(LB)和後端伺服器(Server Pool)都存在於同一個 IP 子網路內。
路由機制:
請求 (Client → LB): 客戶端發送請求到 LB 的 虛擬 IP (VIP)。
轉發 (LB → Server): LB 將目標 IP 替換成後端伺服器真實 IP(Real IP, DIP),將封包發送給伺服器。
回應 (Server → Client): 伺服器收到封包後,回應封包的來源 IP 是它自己(DIP),目標 IP 是客戶端 IP。由於伺服器和客戶端在同一個子網內,回應會直接路由回客戶端,不經過 LB。
B. 優缺點與適用情境
One-Arm 架構的最大優點是部署簡單且效率高。它不要求改變現有的網路 IP 規劃和路由配置,部署速度極快。由於回應流量會直接繞過負載平衡器 (LB) 返回客戶端(非對稱路由),這能顯著節省 LB 的處理資源和頻寬,讓 LB 可以專注於處理新的請求。適用於需要快速部署、測試環境,以及現有網路架構難以進行大規模變動的場景。它也是針對少數特定服務進行負載平衡時,最簡單實用的選擇。
(二)Two-Arm (雙臂/串接) 架構
在 Two-Arm 架構中,負載平衡器(LB)使用兩個或多個介面連接到網路中,形成一個網路上的串接點。LB 介於客戶端網路和伺服器網路之間,通常充當兩者之間的預設閘道 (Default Gateway)。
A. 運作原理
兩個子網:
外部介面 (Arm 1): 連接客戶端網路(通常是防火牆或核心交換器),LB 在此介面上擁有 VIP。
內部介面 (Arm 2): 連接後端伺服器網路(DIPs)。
路由機制:
請求 (Client → LB): 請求到達 LB 的 VIP。
轉發 (LB → Server): LB 選擇伺服器並轉發封包到伺服器網路。
回應 (Server → Client): 伺服器收到封包後,其預設閘道指向 LB 的內部介面 IP。因此,回應流量必須返回 LB。
LB 轉發回應: LB 再將回應轉發回客戶端。請求和回應流量都經過 LB。
B. 優缺點與適用情境
Two-Arm 架構的最大優勢在於路由的對稱性與強大的管控能力。由於請求和回應的流量都必須經過負載平衡器 (LB),網路路徑變得清晰可預測。這極大地簡化了防火牆規則的配置和安全性監控,因為所有進出伺服器群的流量都在一個單一控制點上。適用於企業級、大規模、高可用性與高安全要求的生產環境。特別是在需要 LB 執行 SSL/TLS 卸載 或必須詳細記錄所有流量的場合,它的路由對稱性使其成為更佳的選擇。
負載平衡器部署架構:One-Arm vs. Two-Arm 比較表
特性 | One-Arm (單臂) | Two-Arm (雙臂) |
---|---|---|
LB 介面數 | 一個邏輯介面 (一個 VLAN/子網) | 兩個或多個介面 (兩個獨立的子網) |
路由對稱性 | 非對稱(請求經過 LB,回應繞過 LB) | 對稱(請求和回應都經過 LB) |
IP 規劃 | 簡單,單一子網 | 複雜,需要兩個獨立的子網 |
LB 負載 | 僅處理請求流量 | 處理所有雙向流量(請求 + 回應) |
安全/管控 | 困難,防火牆管理複雜(因路由非對稱) | 簡單,路由清晰,控制力強 |
適用性 | 快速部署、測試環境、簡單應用 | 企業級、大規模、高可用性、高安全性網路 |