負載均衡器如何工作?常見的負載均衡算法

      在一個廣泛的計算系統(tǒng)中,單個服務器不能總是處理網絡流量的負載或需求。這就是負載平衡發(fā)揮作用的地方。負載平衡通過將網絡或應用程序流量分布在一組服務器上來確保網絡平穩(wěn)運行。負載平衡器通常存在于客戶端設備和后端服務器之間,并將傳入的請求分發(fā)到能夠處理請求的可用服務器。

      負載均衡器如何工作?常見的負載均衡算法-南華中天

      負載均衡器如何工作?

      負載均衡器可以是:

      • 在硬件或軟件進程上運行的物理設備或虛擬化實例
      • 并入應用程序交付控制器 (ADC)
      • 能夠使用負載均衡算法

      負載均衡器通過以下方式工作:

      • 將流量分配到資源池中的不同 Web 服務器
      • 確保沒有單個服務器在請求溢出時過度工作并隨后變得不可靠
      • 跨服務器傳播網絡流量(通常稱為服務器場或服務器池)
      • 最小化服務器響應時間
      • 最大化吞吐量
      • 在給定時刻將請求路由到正確的位置
      • 防止瓶頸和事件
      • 通過提供性能和必要的安全性來維持復雜的 IT 環(huán)境

      什么是負載均衡——L4、L7 和 GSLB 負載均衡器

      服務器資源必須易于使用并在開放系統(tǒng)互連 (OSI) 架構的第 4 層和/或第 7 層進行負載平衡,以鼓勵提高一致性并跟上不斷變化的用戶需求。

      第 4 層 (L4) 的負載平衡器在傳輸級別運行。這意味著他們可以根據他們使用的 TCP 或 UDP 端口以及源和目標 IP 地址來決定如何路由數據包。網絡地址轉換 (NAT) 由 L4 負載平衡器執(zhí)行,但它們不會檢查每個數據包內的數據。

      OSI 模型中的最高級別,第 7 層 (L7) 負載平衡器在應用程序級別運行。在確定如何在服務器場的服務器之間分發(fā)請求時,他們可以訪問比 L4 對應方更多種類的數據,例如 HTTP 標頭和 SSL 會話 ID。

      與 L4 相比,L7 的負載平衡需要更多的工作,但它也可以更有效,因為 L7 服務器有更多的上下文來理解和執(zhí)行客戶端請求。全局服務器負載平衡 (GSLB),除了基本的 L4 和 L7 負載平衡之外,還可以擴展任何類型跨眾多數據中心的能力,以有效地分配大量流量,而不會降低最終用戶服務。

      負載均衡器如何工作?常見的負載均衡算法-南華中天

      基于功能的負載均衡器類型

      負載均衡器通常分為三種類型:網絡負載均衡器、HTTP(S) 負載均衡器和經典負載均衡器。

      1. 網絡負載均衡器

      網絡負載平衡器 (NLB),也稱為第四層負載平衡,利用傳輸層來決定哪個服務器接收來自客戶端的傳入請求。當 NLB 收到客戶端連接請求時,它使用流散列路由算法從池中選擇目標服務器,該算法使用 IP 地址和端口號來確定合適的服務器。

      然后,NLB 在流哈希算法指定的端口上打開到目標服務器的傳輸控制協(xié)議 (TCP) 連接。在此過程中,連接請求在不修改其標頭的情況下被傳輸。與其他負載平衡器相比,NLB 速度更快。但是,它們在不同服務器之間分配流量時速度很慢。

      2. HTTP(S) 負載均衡器

      HTTP(S) 負載平衡器 (HLB),也稱為第 7 層負載平衡器,根據 HTTP/HTTPS 標頭做出路由決策。HLB 還可以跟蹤客戶端和服務器之間的響應,從而提供有關特定服務器相對于處理的繁忙或空閑程度的信息。與推測性的 NLB 不同,HLB 是數據驅動的,并且在路由決策方面非常靈活。

      3.經典負載均衡器

      經典負載均衡器 (CLB) 在??第 4 層和第 7 層運行。為了無縫運行,CLB 需要端口之間的固定關系。例如,您可以將負載均衡器端口 80 映射到容器實例端口 3030。但是,您不能將負載均衡器 80 映射到一個實例上的端口 3030 和另一個實例上的端口 4040。

      基于配置的負載均衡器類型

      除了上述分類之外,您還可以將負載均衡器分組為硬件、軟件或虛擬負載均衡器

      負載均衡器如何工作?常見的負載均衡算法-南華中天

      硬件負載平衡器

      硬件負載平衡器依靠物理的本地硬件在客戶端和服務器之間路由流量。它們具有以下屬性:

      • 他們需要高性能的設備
      • 他們可以處理來自不同類型應用程序的多個千兆流量
      • 他們具有虛擬化能力
      • 虛擬負載平衡器實例出現(xiàn)在同一硬件中
      • 它們具有靈活的多租戶架構和租戶的完全隔離

      軟件負載平衡器 (SLB)

      SLB 是您安裝用作負載平衡器的商業(yè)或開源軟件。軟件負載均衡器具有以下特點:

      • 它們可以替代負載平衡硬件,以更高的靈活性提供類似的功能
      • 它們運行在通用的管理程序上,在裸機服務器上的開銷最小
      • 根據用例,它們是高度可配置的
      • 它們節(jié)省空間并減少硬件支出

      虛擬負載平衡器 (VLB)

      另一方面,VLB 通過在虛擬機 (VM) 上運行負載平衡軟件來提供軟件負載平衡功能。您可以使用 VLB 來提供短期負載平衡功能。然而,VLB 無法解決固有的硬件挑戰(zhàn),例如有限的可擴展性和自動化。此外,數據中心缺乏集中管理會阻礙 VLB 的潛力。

      什么是負載平衡 – 硬件與基于軟件的負載平衡器

      負載平衡器可以是基于硬件的,也可以是基于軟件的?;谟布呢撦d平衡器(也稱為硬件負載平衡設備 (HLD))需要具有專用固件的專有機架和堆棧設備。

      負載均衡器如何工作?常見的負載均衡算法-南華中天

      但是,HLD 是從專用集成控制器 (ASIC) 構建的,用于在客戶端和服務器之間分配流量。另一方面,基于軟件的負載均衡器作為應用程序交付控制器 (ADC) 在標準 x86 服務器或虛擬機 (VM) 上運行。

      HLD 使用專門的 ASIC 構建,管理客戶端和服務器之間的流量,對處理器的影響最小。在高峰時段,組織必須提供足夠的 HLD 以滿足不斷增長的需求。然而,這樣的規(guī)定可能意味著大多數 HLD 可能會在淡季閑置。

      相比之下,基于軟件的負載均衡器在集群虛擬機上運行它們的服務。典型的基于軟件的負載平衡器通常指定一個主集群服務器來將客戶端工作負載分配給其他輔助服務器。這有助于在一臺服務器出現(xiàn)故障時最大限度地減少停機時間。在這方面,基于軟件的負載均衡器可以彈性擴展以滿足比其 HLD 對應物不斷增長的需求。

      常見的負載均衡算法

      負載平衡算法根據兩個因素選擇哪個后端服務器處理客戶端流量:服務器的健康狀況和預定義規(guī)則。負載平衡算法首先確定哪個服務器池可以正確響應客戶端的請求。接下來,它使用預先配置的規(guī)則在池中選擇合適的服務器來處理流量。

      典型的負載均衡算法包括:

      循環(huán)賽

      負載平衡器按順序為服務器提供請求。將請求傳輸到最后一個服務器后,該過程從第一個服務器重新啟動。有兩類循環(huán)算法:加權循環(huán)和動態(tài)循環(huán)。加權循環(huán)算法根據服務器的效率和結構為服務器分配單獨的權重。加權循環(huán)法在您擁有不同服務器池的情況下很有用。相比之下,動態(tài)循環(huán)算法實時計算服務器的權重,以確定將請求轉發(fā)到哪個服務器。

      最少連接法

      顧名思義,最少連接數算法會選擇連接數最少的服務器。它適用于客戶端工作負載導致較長會話的情況。

      最短響應時間法

      負載平衡器選擇具有最少活動連接和最短響應時間的服務器。此方法適用于客戶端要求服務器迅速響應的情況。

      負載均衡器如何工作?常見的負載均衡算法-南華中天

      最小帶寬法

      負載平衡器計算將客戶端工作負載發(fā)送到各種服務器所需的帶寬(以 Mbps 為單位)。然后它將請求發(fā)送到消耗最小帶寬的服務器。

      散列法

      負載平衡器根據客戶端的數據包計算哈希值。哈希值決定了服務器轉發(fā)客戶端的工作量。換句話說,工作負載的 IP 地址決定了接收請求的服務器。

      自定義加載方式

      負載平衡器使用簡單網絡管理協(xié)議 (SNMP) 查詢各個服務器的負載,例如 CPU 和內存消耗。然后它根據服務器的工作負載將傳入的請求轉發(fā)到服務器。

      基于資源的方法

      負載平衡器根據現(xiàn)有會話、CPU 和內存消耗以及計數器來確定哪些服務器處于空閑狀態(tài)。然后它將客戶端工作負載分配給消耗最少資源的服務器。

      什么是負載平衡——好處

      除了控制網絡流量外,負載均衡還有其他功能。軟件負載平衡器提供的預測分析功能有助于在流量瓶頸發(fā)生之前識別它們。結果,軟件負載平衡器為組織提供了有用的信息。這些對于自動化至關重要,并且會影響公司的選擇。

      簡而言之,負載平衡有助于:

      • 減少停機時間
      • 冗余
      • 效率
      • 可擴展性
      • 靈活性

      并行 RAS 如何幫助負載平衡?

      RAS使您能夠對廣泛的 IT 基礎架構進行負載平衡,而無需復雜的配置或昂貴的附加組件。它平衡了 RDSH 服務器和內部組件。Parallels RAS 提供高可用性負載平衡 (HALB),減少停機和中斷的可能性。HALB 通過基于資源的分配(用戶會話、內存和 CPU)在遠程桌面服務器和網關之間分配數據流量。還支持第三方負載均衡器,例如 AWS 彈性負載均衡器 (ELB) 和 Azure 負載均衡器。

      負載均衡器如何工作?常見的負載均衡算法-南華中天

      管理員還可以為隔離訪問配置多個 HALB 虛擬服務器。例如,當使用不同的安全客戶端網關進行內部和外部訪問或不同的分支機構時。

      各種 HALB 配置設置啟用高級管理,包括:

      • 連接設置(每秒連接數、最大連接數)
      • 超時設置(網關連接、客戶端隊列和不活動)
      • 虛擬路由器冗余協(xié)議 (VRRP) 設置

      組織可以增強其原有的負載平衡基礎設施并提供增強的用戶體驗,尤其是在廣域網 (WAN) 場景中。