5大負載均衡演算法 (原理圖解)
大家好,我是 mikechen ,專注分享 「 網際網路 大廠架構技術」 。
負載均衡,是 分散式架構的必備技術,也是 進階的 必學技術,需要開發人員重點掌握。
本文重點詳解負載均衡的5大核心演算法。
首先,我們來看張圖,下面是一張典型的 叢集和負載均衡架構圖:
當 一臺機器不能承受訪問壓力時,我們大多會透過橫向增加兩臺、或者多臺伺服器,來共同承擔訪問壓力,來極大的降低後端的訪問壓力,提升使用者的訪問效能。
但是,從一臺擴充套件到多臺伺服器後,如何將客戶端的流量、分發到具體的伺服器呢?是透過伺服器 1 、還是伺服器 3 ?
這就涉及到了具體的
負載均衡演算法。
目錄
1. 輪循
2. 加權輪循
3. 隨機
4. 最少連線
5. 源地址雜湊
1. 輪循
輪詢很容易實現,將請求按順序輪流分配到後臺伺服器上,均衡的對待每一臺伺服器,而不關心伺服器實際的連線數和當前的系統負載。
適合場景:適合於應用伺服器硬體都相同的情況。
2. 加權輪循
在輪詢的基礎上根據硬體配置不同,按權重分發到不同的伺服器。
適合場景:跟配置高、負載低的機器分配更高的權重,使其能處理更多的請求,而效能低、負載高的機器,配置較低的權重,讓其處理較少的請求。
3. 隨機
透過系統隨機函式,根據後臺伺服器列表的大小值來隨機選取其中一臺進行訪問。
隨著呼叫量的增大,客戶端的請求可以被均勻地分派到所有的後端伺服器上,其實際效果越來越接近於平均分配流量到後臺的每一臺伺服器,也就是輪詢法的效果。
4. 最少連線
記錄每個伺服器正在處理的請求數,把新的請求分發到最少連線的伺服器上,因為要維護內部狀態不推薦。
5. 源地址雜湊
根據服務消費者請求客戶端的IP地址,透過雜湊函式計算得到一個雜湊值,將此雜湊值和伺服器列表的大小進行取模運算,得到的結果就是要訪問的伺服器地址的序號。
適合場景:
根據請求的來源IP進行hash計算,同一IP地址的客戶端,當後端伺服器列表不變時,它每次都會對映到同一臺後端伺服器進行訪問。
以上,是對
5 大負載均衡演算法及其原理的
解析,對掌握及使用負載均衡,具有一定的參考價值,建議收藏、經常溫顧。
如果覺得有用,請 點贊 + 轉發 支援下,謝謝。
作者簡介
陳睿 | mikechen ,10年+大廠架構經驗,《mikechen的網際網路架構》系列文章作者,專注於網際網路架構技術。
獲取「mikechen 的網際網路架構」40W 字 技術文章合集
關注「mikechen 的網際網路架構」公眾號,回覆 【 架構】即得。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011997/viewspace-2920096/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全網最詳細的負載均衡原理圖解負載圖解
- F5負載均衡系列教程八【負載均衡演算法詳解】負載演算法
- 解密負載均衡技術和負載均衡演算法解密負載演算法
- 負載均衡原理的解析負載
- WEBLOGIC負載均衡原理Web負載
- 負載均衡演算法負載演算法
- 常用負載均衡詳解(圖文總結)負載
- Nginx 負載均衡原理解讀Nginx負載
- 負載均衡詳解負載
- 負載均衡的演算法負載演算法
- 自適應負載均衡演算法原理與實現負載演算法
- Istio流量治理原理之負載均衡負載
- nginx負載均衡原理分析到手動編寫簡易負載均衡器Nginx負載
- Nginx負載均衡詳解Nginx負載
- 6種負載均衡演算法負載演算法
- 漫談負載均衡演算法負載演算法
- 負載均衡最全詳解(圖文全面總結)負載
- 負載均衡是什麼?怎麼理解負載均衡的部署方式和工作原理負載
- Pulsar負載均衡原理及最佳化負載
- 負載均衡負載
- 負載均衡演算法需要改進負載演算法
- 簡單瞭解負載均衡負載
- gRPC負載均衡(客戶端負載均衡)RPC負載客戶端
- gRPC負載均衡(自定義負載均衡策略)RPC負載
- windows第七層負載均衡 基於IIS的ARR負載均衡詳解Windows負載
- 伺服器負載均衡原理及實現伺服器負載
- 負載均衡器部署方式和工作原理負載
- 負載均衡排程演算法大全負載演算法
- windows伺服器第四層負載均衡_基於NLB負載均衡詳解Windows伺服器負載
- 負載均衡之Haproxy配置詳解負載
- nginx詳解反向代理負載均衡Nginx負載
- NGINX 負載均衡Nginx負載
- WebSocket負載均衡Web負載
- IP負載均衡負載
- 【Nginx】負載均衡Nginx負載
- nginx負載均衡Nginx負載
- 負載均衡技術(一)———負載均衡技術介紹負載
- Dubbo原始碼分析(九)負載均衡演算法原始碼負載演算法