軟體定義的負載平衡器 NSX Advanced Load Balancer (簡稱 NSX ALB) 跟傳統硬體負載平衡器的最大區別就是架構的靈活性,可以根據應用負載的變化而進行動態調整,通過增加計算資源來支撐工作負載的增加,當工作負載降低時自動釋放資源以避免計算資源的閒置。

 

NSX ALB 的架構

NSX ALB 採用的是控制平面 (控制器 Controller) 和資料平面 (服務引擎 Service Engine) 分開的設計,控制器負責管理和控制,服務引擎負責轉發網路流量。這種軟體的應用交付控制方案具有以下優點:

  • 配置簡便:管理員只需要在控制台上做一次參數設置,配置就會自動下發到各個服務引擎。
  • 彈性架構:當業務量上升的時候,控制器會自動地增加服務引擎來提升系統的處理容量;當業務量下降時,可以降低服務引擎數量來減少資源消耗。
  • 靈活性:基於軟體的架構讓使用者購買的處理能力可以在多個應用間共用,而不存在硬體方案所需要重新部署和配置的問題,大減少了處理能力閒置的情況。
  • 支援多雲環境:Avi 的方案不僅支持私有雲,也支持 AWS、Azure 等公有雲環境,可以靈活地在多雲環境下部署使用。

 

NSX ALB 原生的擴展

開始的時候,所有的應用服務請求都由一個服務引擎來處理的,由它來根據管理員設置的負載均衡規則來把服務請求分發給後臺的伺服器。當應用負載上升到超過該服務引擎的處理能力時,NSX ALB 的控制器會增加服務引擎的數量來提高整體處理能力,新增的服務引擎可以是一個現有的服務引擎 (在為其他應用提供負載均衡服務),也可以是一個完全新建的服務引擎虛機。這種情況下,原來的第一個服務引擎被定義為主服務引擎 (Primary SE),任何後加的服務引擎都被稱之為二級服務引擎 (Secondary SE)。主服務引擎會把一部分的應用負載轉發給二級服務引擎,由它們來進一步分發給後臺的應用伺服器,這就相當於在 NSX ALB 負載平衡器內部進行了一個初步的負載均衡操作。受制於服務引擎處理能力,這種模式僅支援最多4台服務引擎,增加更多的服務引擎會導致主服務引擎成為一個性能瓶頸。

 

基於 BGP 的等價多路徑擴展

對於更大的應用負載,可以採用基於邊界閘道協議 (BGP – Border Gateway Protocol) 的等價多路徑 (ECMP – Equal-Cost Multi Path) 擴展,這種擴展方式最多可以支援 64台服務引擎。這種方式如下圖所示,所有應用服務請求通過路由器或閘道發給服務引擎,這中間存在著多條鏈路,ECMP 使得服務請求可以均衡地通過多條鏈路來到達不同的服務引擎,再由服務引擎轉發給應用伺服器。

 

傳統的硬體負載平衡器都是按峰值處理量來進行配置的,一旦過了工作負載高峰期,原來配置的硬體資源往往閒置,IT 投資沒有得到充分的利用。NSX ALB 的擴展功能是完全自動的,稱之為自動擴展 (Auto Scaling),不需要預先配置好預留資源,會根據應用負載的變化來自動調整;並且能夠對應用負載進行預測,從而及時地自動調配好服務引擎,為服務請求的增加做好準備,這個特性稱之為帶預測的自動擴展 (Predictive Autoscaling)

 

這種自動擴展能力也能夠更好地為多個應用提供負載均衡,不同應用的負載高峰期往往是不同的,基於虛機的服務引擎不但可以同時為多個應用服務,也可以在需要的時候在不同的集群間進行遷移 (vMotion) 或者是調配 (Provisioning),從而靈活地滿足業務性能的需要。同時,也讓企業採購的負載平衡器得到了充分的利用,最大限度地避免了 IT 投資的閒置和浪費。

 

擴展閱讀

VMware 和 Intel 攜手網路和安全轉型,共同打造虛擬雲網路 (Virtual Cloud Network),為數位化時代確定網路發展前景。虛擬雲網路基於運行在 Intel 架構上的 NSX 技術而構建, 跨資料中心、雲、邊緣環境和任意硬體基礎架構提供無處不在的基於軟體的網路連接,具有以下特點:

  • 跨雲的網路架構為用戶提供端到端的連接
  • 內置於基礎架構的原生安全性
  • 基於軟體而交付的網路具有最大的靈活性

利用這一平臺,無論應用運行在哪裡 (現場或是雲端),用戶都能夠保證應用架構的安全;並且統一所有分支機搆和邊緣環境的網路連接,以支撐業務運行。