負載均衡策略和技術的基本指南
什麼是負載均衡器?
負載均衡器將傳入的網絡流量分配到多臺服務器上,以確保沒有單個服務器承受過多的負載。通過有效地分發請求,它們提高了應用程序的容量和可靠性。以下是負載均衡中常用的一些策略和算法:
1. 輪詢法
輪詢法是負載均衡的最簡單形式,其中池中的每臺服務器按順序接收請求,循環輪轉。當到達最後一臺服務器時,它將回到第一臺。
這對於具有相似規格且負載可以均勻分配的服務器效果良好。
2. 最少連接
最少連接算法將流量引導到具有最少活動連接的服務器。在會話長度和需求不均勻的情況下特別有用。
在任務較長或服務器負載不均勻的情況下是理想的選擇。
3. 最短響應時間
這個以響應時間最短且活動連接最少的服務器爲目標的算法是以響應性爲重點。
在目標是爲請求提供最快響應時效果很好。
4. IP 散列
IP 散列根據客戶端 IP 地址的哈希確定哪個服務器接收請求。這確保客戶端始終連接到同一臺服務器。
在需要在應用程序中實現會話持久性的情況下很有用,以確保客戶端始終連接到相同的服務器。
5. 加權算法
上述方法還有一些加權的變體。例如,在加權輪詢或加權最小連接中,服務器通常根據其容量或性能指標被分配權重。
在池中的服務器具有不同能力(例如 CPU、RAM)時,加權算法非常有效。
6. 地理算法
這些是基於位置的算法,根據用戶最接近的服務器或特定區域的需求將請求定向到服務器。
在全球服務中,降低延遲和符合本地法規要求時很有用。
7. 一致性哈希
一致性哈希使用哈希函數在各個節點之間分佈數據。
想象一個形成圓圈的哈希空間,其中端點回繞到開始,通常稱爲 “哈希環”。節點(服務器)和數據(存儲值的鍵)都被散列到此環上。
這也確保相同的客戶端始終連接到相同的服務器。
健康檢查
負載均衡器的一個重要特性是對服務器進行持續的健康檢查,以確保流量僅定向到在線和響應的服務器。如果服務器失敗,負載均衡器將停止將流量發送到它,直到它恢復在線狀態。
負載均衡器示例
負載均衡器有各種形式,包括硬件設備、軟件解決方案和基於雲的服務。以下是一些示例:
硬件負載均衡器
1.F5 BIG-IP: 廣泛使用的硬件負載均衡器,以其高性能和豐富的功能集而聞名,提供本地流量管理、全球服務器負載平衡和應用程序安全性。
2.Citrix ADC: 以前被稱爲 NetScaler,提供負載均衡、內容切換和應用程序加速。
軟件負載均衡器
1.HAProxy: 一種常用的開源軟件負載均衡器和 TCP 和基於 HTTP 的應用程序代理服務器。以其高效性、可靠性和低內存佔用而聞名。
2.NGINX: 通常用作 Web 服務器,NG
INX 也可用作基於 HTTP 和其他網絡協議的負載均衡器和反向代理。
基於雲的負載均衡器
1.AWS 彈性負載均衡(ELB): 作爲 AWS 雲服務的一部分,提供多種類型的負載均衡器,包括應用程序負載均衡器、網絡負載均衡器和經典負載均衡器。
2.Microsoft Azure 負載均衡器: 爲在 Azure 中運行的應用程序提供高可用性和網絡性能。支持入站和出站場景。
3.Google Cloud 負載均衡器: 一種完全分佈式、軟件定義的、託管服務,適用於所有流量。提供各種類型的負載均衡,包括 HTTP(S)、TCP/SSL 和 UDP 負載均衡。
虛擬負載均衡器
1.VMware NSX 高級負載均衡器(Avi Networks): 提供一種軟件定義的應用程序交付控制器,可部署在本地或雲中。
當負載均衡器故障時會發生什麼?
負載均衡器基本上是一個單點故障,如果它崩潰,所有服務器對客戶端都不可用。
爲了避免或減輕負載均衡器故障的影響,通常採用以下幾種策略:
冗餘
通過使用多個負載均衡器(通常成對)來實現冗餘負載均衡是一種常見方法。如果一個失敗,另一個接管,這稱爲故障切換。
健康檢查和監控
對負載均衡器本身進行持續監控和健康檢查可以確保及早檢測到任何問題,並在引起重大中斷之前解決它們。
自動縮放和自愈系統
一些現代基礎架構設計爲自動檢測負載均衡器的故障,並在無需手動干預的情況下用新實例替換它們。
DNS 故障轉移
在某些配置中,DNS 故障轉移可以將流量從不再接受連接的 IP 地址(例如故障的負載均衡器)重新路由到預配置的備用 IP。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/YrtJkKeaWycM_RhOS6vw4A