高性能集群之所以復(fù)雜,主要原因是增加了任務(wù)分配器,以及為任務(wù)選擇合適的分配算法。負(fù)載均衡器就是任務(wù)分配器,負(fù)載均衡這個名稱已經(jīng)成為事實標(biāo)準(zhǔn),但負(fù)載均衡不只是為了計算單元的負(fù)載達(dá)到均衡狀態(tài)。
分類及架構(gòu)
常見的負(fù)載均衡分三種:DNS負(fù)載、硬件負(fù)載、軟件負(fù)載
1、DNS負(fù)載均衡
定義:解析同一個域名返回不同的IP地址,一般用來實現(xiàn)地理級別的均衡。例如同樣的域名,北方用戶和南方用戶獲取的地址是不一樣的。
優(yōu)點:
簡單、成本低
實現(xiàn)就近訪問,提升訪問速度
缺點:
更新不及時(DNS緩存時間長)
擴(kuò)展性差(無法根據(jù)業(yè)務(wù)定制和擴(kuò)展)
分配策略簡單(算法少、無法感知后端服務(wù)器狀態(tài))
2、硬件負(fù)載均衡
定義:通過單獨的硬件設(shè)備實現(xiàn)負(fù)載均衡功能,可以理解為一個用于負(fù)載均衡的基礎(chǔ)網(wǎng)絡(luò)設(shè)備。目前業(yè)界典型的硬件負(fù)載均衡設(shè)備有兩款:F5 和 A10。
優(yōu)點:
功能強大(支持各層級負(fù)載、支持全面的負(fù)載算法、支持全局負(fù)載)
性能強大(支持100萬以上并發(fā))
穩(wěn)定性高(商用硬件負(fù)載)
支持安全防護(hù)(具備防火墻、防DDoS攻擊等功能)
缺點:
價格昂貴(起步15萬,最高上百萬)
擴(kuò)展能力差(硬件設(shè)備無法進(jìn)行擴(kuò)展和定制)
3、軟件負(fù)載均衡
定義:通過負(fù)載均衡軟件來實現(xiàn)負(fù)載均衡功能,常見的有 Nginx 和 LVS兩種。
優(yōu)點:
簡單(部署維護(hù)都比較簡單)
便宜(只需Linux服務(wù)器裝上軟件)
靈活(可根據(jù)業(yè)務(wù)方便擴(kuò)展和定制)
缺點(與硬件負(fù)載相比):
性能一般(一個Nginx大約支撐5萬并發(fā))
功能沒有硬件負(fù)載強大
一般不具備防火墻和防DDoS等安全功能
4、典型架構(gòu)
3種負(fù)載機(jī)制在實際應(yīng)用中不是非此即彼,可以組合使用。
組合的基本原則為:DNS 負(fù)載均衡用于實現(xiàn)地理級別的負(fù)載均衡;硬件負(fù)載均衡用于實現(xiàn)集群級別的負(fù)載均衡;軟件負(fù)載均衡用于實現(xiàn)機(jī)器級別的負(fù)載均衡。
算法
根據(jù)算法期望達(dá)到的目的,可以分為4類:
任務(wù)平分類:平均分配,平均可以是數(shù)量平均、也可以是比例平均、權(quán)重平均
負(fù)載均衡類:根據(jù)服務(wù)器負(fù)載進(jìn)行分配,這里的負(fù)載指系統(tǒng)當(dāng)前壓力,如CPU負(fù)載、連接數(shù)、I/O使用率等
性能最優(yōu)類:根據(jù)服務(wù)器響應(yīng)時間進(jìn)行分配,響應(yīng)最快的分配更多新任務(wù)
Hash類:根據(jù)任務(wù)某些關(guān)鍵信息進(jìn)行Hash運算,結(jié)果值相同的分配同一臺服務(wù)器
1、輪詢
定義:按照順序輪流分配到服務(wù)器,不關(guān)注服務(wù)器本身運行狀態(tài)如何。
特點:只關(guān)注服務(wù)器是否在運行,只要運行就分配任務(wù),不管運行是否良好。『簡單』是優(yōu)點,也是缺點。
2、加權(quán)輪詢
定義:輪詢的特殊形式,根據(jù)服務(wù)器權(quán)重進(jìn)行任務(wù)分配,權(quán)重指根據(jù)硬件配置進(jìn)行靜態(tài)配置的,主要目的是為了解決不同服務(wù)器處理能力有差異的問題。
特點:解決了輪詢算法中無法根據(jù)服務(wù)器的配置差異進(jìn)行任務(wù)分配的問題,但依然無法根據(jù)服務(wù)器的狀態(tài)差異進(jìn)行任務(wù)分配。
3、負(fù)載最低優(yōu)先
定義:將任務(wù)分配給當(dāng)前負(fù)載最低的服務(wù)器,這里的當(dāng)前負(fù)載根據(jù)不同任務(wù)類型和業(yè)務(wù),可以用不同指標(biāo)衡量。如連接數(shù)、HTTP請求數(shù)、CPU負(fù)載、I/O負(fù)載等。
特點:解決了輪詢算法中無法感知服務(wù)器狀態(tài)的問題,代價是增加很多復(fù)雜度,因為需要感知服務(wù)器當(dāng)前的運行狀態(tài)。效果美好但實際應(yīng)用場景沒有輪詢多。
4、性能最優(yōu)類
定義:站在客戶端的角度進(jìn)行分配,優(yōu)先將任務(wù)分配給處理速度最快的服務(wù)器。
特點:與負(fù)載最低優(yōu)先類的算法類似,需要感知服務(wù)器狀態(tài)并且在合適周期內(nèi)進(jìn)行統(tǒng)計分析,復(fù)雜度很高。
5、Hash類
定義:根據(jù)任務(wù)中的某些關(guān)鍵信息進(jìn)行 Hash 運算,將值相同的請求分配到同一臺服務(wù)器,目的主要是為了滿足特定業(yè)務(wù)需求。常見的有源地址Hash和ID Hash。
特點:將同一個源地址或帶有某個ID標(biāo)識的任務(wù)分配給同一個服務(wù)器,適合于存在事務(wù)、會話的業(yè)務(wù)
審核編輯:湯梓紅
-
負(fù)載
+關(guān)注
關(guān)注
2文章
595瀏覽量
34864 -
cpu
+關(guān)注
關(guān)注
68文章
10989瀏覽量
214803 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9547瀏覽量
86830 -
分配器
+關(guān)注
關(guān)注
0文章
201瀏覽量
26029 -
DNS
+關(guān)注
關(guān)注
0文章
221瀏覽量
20125
原文標(biāo)題:高性能負(fù)載均衡-分類和算法
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
路由器負(fù)載均衡怎么配置
LSBPSO算法在磁盤負(fù)載均衡問題中的應(yīng)用
基于IXP425的負(fù)載均衡系統(tǒng)的設(shè)計與實現(xiàn)
Web集群系統(tǒng)的負(fù)載均衡算法

基于并行遺傳算法的VOD系統(tǒng)負(fù)載均衡研究

一種改進(jìn)的動態(tài)反饋負(fù)載均衡算法
云環(huán)境中基于LVS集群的負(fù)載均衡算法

評論