0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

高性能負載均衡的分類和算法

馬哥Linux運維 ? 來源:簡書 ? 2023-05-31 09:56 ? 次閱讀

高性能集群之所以復雜,主要原因是增加了任務分配器,以及為任務選擇合適的分配算法。負載均衡器就是任務分配器,負載均衡這個名稱已經(jīng)成為事實標準,但負載均衡不只是為了計算單元的負載達到均衡狀態(tài)。

分類及架構(gòu)

常見的負載均衡分三種:DNS負載硬件負載、軟件負載

1、DNS負載均衡

定義:解析同一個域名返回不同的IP地址,一般用來實現(xiàn)地理級別的均衡。例如同樣的域名,北方用戶和南方用戶獲取的地址是不一樣的。

優(yōu)點:
簡單、成本低
實現(xiàn)就近訪問,提升訪問速度

缺點:
更新不及時(DNS緩存時間長)
擴展性差(無法根據(jù)業(yè)務定制和擴展)
分配策略簡單(算法少、無法感知后端服務器狀態(tài))

2、硬件負載均衡

定義:通過單獨的硬件設備實現(xiàn)負載均衡功能,可以理解為一個用于負載均衡的基礎網(wǎng)絡設備。目前業(yè)界典型的硬件負載均衡設備有兩款:F5 和 A10。

優(yōu)點:
功能強大(支持各層級負載、支持全面的負載算法、支持全局負載)
性能強大(支持100萬以上并發(fā))
穩(wěn)定性高(商用硬件負載)
支持安全防護(具備防火墻、防DDoS攻擊等功能)

缺點:
價格昂貴(起步15萬,最高上百萬)
擴展能力差(硬件設備無法進行擴展和定制)

3、軟件負載均衡

定義:通過負載均衡軟件來實現(xiàn)負載均衡功能,常見的有 Nginx 和 LVS兩種。

優(yōu)點:
簡單(部署維護都比較簡單)
便宜(只需Linux服務器裝上軟件)
靈活(可根據(jù)業(yè)務方便擴展和定制)

缺點(與硬件負載相比):
性能一般(一個Nginx大約支撐5萬并發(fā))
功能沒有硬件負載強大
一般不具備防火墻和防DDoS等安全功能

4、典型架構(gòu)

3種負載機制在實際應用中不是非此即彼,可以組合使用。
組合的基本原則為:DNS 負載均衡用于實現(xiàn)地理級別的負載均衡;硬件負載均衡用于實現(xiàn)集群級別的負載均衡;軟件負載均衡用于實現(xiàn)機器級別的負載均衡。

d1880aba-ff51-11ed-90ce-dac502259ad0.jpg

算法

根據(jù)算法期望達到的目的,可以分為4類:
任務平分類:平均分配,平均可以是數(shù)量平均、也可以是比例平均、權重平均
負載均衡類:根據(jù)服務器負載進行分配,這里的負載指系統(tǒng)當前壓力,如CPU負載、連接數(shù)、I/O使用率等
性能最優(yōu)類:根據(jù)服務器響應時間進行分配,響應最快的分配更多新任務
Hash類:根據(jù)任務某些關鍵信息進行Hash運算,結(jié)果值相同的分配同一臺服務器

1、輪詢

定義:按照順序輪流分配到服務器,不關注服務器本身運行狀態(tài)如何。
特點:只關注服務器是否在運行,只要運行就分配任務,不管運行是否良好?!汉唵巍皇莾?yōu)點,也是缺點。

2、加權輪詢

定義:輪詢的特殊形式,根據(jù)服務器權重進行任務分配,權重指根據(jù)硬件配置進行靜態(tài)配置的,主要目的是為了解決不同服務器處理能力有差異的問題。
特點:解決了輪詢算法中無法根據(jù)服務器的配置差異進行任務分配的問題,但依然無法根據(jù)服務器的狀態(tài)差異進行任務分配。

3、負載最低優(yōu)先

定義:將任務分配給當前負載最低的服務器,這里的當前負載根據(jù)不同任務類型和業(yè)務,可以用不同指標衡量。如連接數(shù)、HTTP請求數(shù)、CPU負載、I/O負載等。
特點:解決了輪詢算法中無法感知服務器狀態(tài)的問題,代價是增加很多復雜度,因為需要感知服務器當前的運行狀態(tài)。效果美好但實際應用場景沒有輪詢多。

4、性能最優(yōu)類

定義:站在客戶端的角度進行分配,優(yōu)先將任務分配給處理速度最快的服務器。
特點:與負載最低優(yōu)先類的算法類似,需要感知服務器狀態(tài)并且在合適周期內(nèi)進行統(tǒng)計分析,復雜度很高。

5、Hash類

定義:根據(jù)任務中的某些關鍵信息進行 Hash 運算,將值相同的請求分配到同一臺服務器,目的主要是為了滿足特定業(yè)務需求。常見的有源地址Hash和ID Hash。
特點:將同一個源地址或帶有某個ID標識的任務分配給同一個服務器,適合于存在事務、會話的業(yè)務

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 負載
    +關注

    關注

    2

    文章

    609

    瀏覽量

    35082
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11055

    瀏覽量

    216311
  • 服務器
    +關注

    關注

    13

    文章

    9730

    瀏覽量

    87471
  • 分配器
    +關注

    關注

    0

    文章

    203

    瀏覽量

    26190
  • DNS
    DNS
    +關注

    關注

    0

    文章

    225

    瀏覽量

    20340

原文標題:高性能負載均衡-分類和算法

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    路由器負載均衡怎么配置

    路由器負載均衡是一種重要的網(wǎng)絡技術,它能夠?qū)⒍鄠€網(wǎng)絡連接的流量分配到多個路由器上,以提高網(wǎng)絡的性能和穩(wěn)定性。本文將詳細介紹路由器負載均衡的配
    的頭像 發(fā)表于 12-13 11:17 ?4348次閱讀

    高性能負載均衡Tomcat集群的實現(xiàn)

    Nginx+Tomcat搭建高性能負載均衡集群
    發(fā)表于 08-21 14:31

    LSBPSO算法在磁盤負載均衡問題中的應用

    將基于水平集的粒子優(yōu)化算法(LSBPSO)應用于磁盤負載均衡問題中,利用LSBPSO 的快速收斂性動態(tài)調(diào)整分條技術下邏輯磁盤和物理磁盤的映射關系。提出一種新的邏輯磁盤熱度預測方法
    發(fā)表于 03-25 08:42 ?23次下載

    基于IXP425的負載均衡系統(tǒng)的設計與實現(xiàn)

    負載均衡設備是提高網(wǎng)絡性能的重要設備。該文研究負載均衡系統(tǒng)及其算法,對多種
    發(fā)表于 04-17 09:09 ?25次下載

    Web集群系統(tǒng)的負載均衡算法

    采用集群技術搭建所需的服務器往往導致各服務器系統(tǒng)資源利用率存在很大差距。為解決上述問題,通過分析已有的負載均衡算法,提出一種改進的動態(tài)反饋負載均衡
    發(fā)表于 05-18 18:45 ?0次下載
    Web集群系統(tǒng)的<b class='flag-5'>負載</b><b class='flag-5'>均衡</b><b class='flag-5'>算法</b>

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

    基于分布式VOD系統(tǒng)的結(jié)構(gòu),采用并行遺傳算法對大型分布式VOD系統(tǒng)的負載均衡進行了研究,提出并實現(xiàn)了一種基于基于并行遺傳算法的VOD系統(tǒng)負載
    發(fā)表于 05-26 15:41 ?0次下載
    基于并行遺傳<b class='flag-5'>算法</b>的VOD系統(tǒng)<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>研究

    一種改進的動態(tài)反饋負載均衡算法

    在集群系統(tǒng)中,負載均衡算法是影響系統(tǒng)性能的關鍵因素之一。為了進一步提高集群系統(tǒng)的性能,有必要對負載
    發(fā)表于 04-15 19:26 ?20次下載

    云環(huán)境中基于LVS集群的負載均衡算法

    為了解決傳統(tǒng)負載均衡技術應用到云計算環(huán)境中引發(fā)的新問題,提出一種云環(huán)境下基于LVS集群分組負載均衡算法。該
    發(fā)表于 11-24 11:05 ?1次下載
    云環(huán)境中基于LVS集群的<b class='flag-5'>負載</b><b class='flag-5'>均衡</b><b class='flag-5'>算法</b>

    基于java的負載均衡算法解析及源碼分享

    負載均衡算法實際上就是解決跨系統(tǒng)調(diào)用的時候,在考慮后端機器承載情況的前提下,保證請求分配的平衡和合理。下面是基于java的負載均衡
    發(fā)表于 01-01 19:29 ?2363次閱讀

    基于蜜蜂行為的負載均衡算法

    針對云計算環(huán)境下的任務調(diào)度程序通常需要較多響應時間和通信成本的問題,提出了一種基于蜜蜂行為的負載均衡( HBB-LB)算法。首先,利用虛擬機(VM)進行負載平衡來最大化吞吐量;然后,對
    發(fā)表于 01-12 14:58 ?1次下載

    一種新的不均衡關聯(lián)分類算法ACI

    基于規(guī)則的分類算法具有分類性能妤、可解釋性強的優(yōu)點,得到了廣泛的應用。然而已有的基于規(guī)則的分類算法
    發(fā)表于 06-17 15:27 ?16次下載

    解密負載均衡技術和負載均衡算法

    叫做負載均衡的類型。負載均衡算法的種類非常多,包括從簡單的輪詢負載
    的頭像 發(fā)表于 11-12 09:16 ?1470次閱讀

    負載均衡是如何工作的?

    效率,從而提高性能并降低延遲。大多數(shù)Internet應用程序都需要負載均衡才能準確工作。 那么負載均衡是如何工作的?下面,小編簡單給大家分析
    的頭像 發(fā)表于 06-15 17:26 ?916次閱讀

    負載均衡的工作原理

    負載均衡是在多個物理服務器之間智能分配流量以最大化資源利用率的過程。換句話說,在兩臺或多臺計算機/服務器之間共享計算工作負載的過程就是負載均衡
    的頭像 發(fā)表于 06-16 17:14 ?2292次閱讀

    常見的lvs負載均衡算法

    散列(SH)、最短期望延遲(SED)和無需隊列(NQ)等,它們根據(jù)服務器性能、連接數(shù)、請求目標或源IP等因素,實現(xiàn)請求的均衡分配,適用于不同應用場景。 以下是UU云小編對LVS負載均衡
    的頭像 發(fā)表于 12-12 13:50 ?517次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品