負載均衡之負載均衡算法

1 概述


負載均衡算法可分爲本地流量管理技術和服務器端所使用的算法,按是否具有動態反饋性,又可以分爲靜態負載均衡算法和動態負載均衡算法。

 

2 本地流量管理技術


本地流量管理技術主要有以下幾種負載均衡算法:
靜態負載均衡算法包括:輪詢,比率,優先權
動態負載均衡算法包括: 最少連接數,最快響應速度,觀察方法,預測法,動態性能分配,動態服務器補充,服務質量,服務類型,規則模式。


2.1 靜態負載均衡算法


  • 輪詢(Round Robin):順序循環將請求一次順序循環地連接每個服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從順序循環隊列中拿出,不參加下一次的輪詢,直到其恢復正常。

  • 比率(Ratio):給每個服務器分配一個加權值爲比例,根椐這個比例,把用戶的請求分配到每個服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配, 直到其恢復正常。

  • 優先權(Priority):給所有服務器分組,給每個組定義優先權,BIG-IP 用戶的請求,分配給優先級最高的服務器組(在同一組內,採用輪詢或比率算法,分配用戶的請求);當最高優先級中所有服務器出現故障,BIG-IP 纔將請求送給次優先級的服務器組。這種方式,實際爲用戶提供一種熱備份的方式。

     

2.2 動態負載均衡算法


  • 最少的連接方式(Least Connection):傳遞新的連接給那些進行最少連接處理的服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配, 直到其恢復正常。

  • 最快模式(Fastest):傳遞連接給那些響應最快的服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

  • 觀察模式(Observed):連接數目和響應時間以這兩項的最佳平衡爲依據爲新的請求選擇服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

  • 預測模式(Predictive):BIG-IP利用收集到的服務器當前的性能指標,進行預測分析,選擇一臺服務器在下一個時間片內,其性能將達到最佳的服務器相應用戶的請求。(被BIG-IP 進行檢測)

  • 動態性能分配(Dynamic Ratio-APM):BIG-IP 收集到的應用程序和應用服務器的各項性能參數,動態調整流量分配。

  • 動態服務器補充(Dynamic Server Act.):當主服務器羣中因故障導致數量減少時,動態地將備份服務器補充至主服務器羣。

  • 服務質量(QoS):按不同的優先級對數據流進行分配。

  • 服務類型(ToS): 按不同的服務類型(在Type of Field中標識)負載均衡對數據流進行分配。

  • 規則模式:針對不同的數據流設置導向規則,用戶可自行。

負載均衡對應本地的應用交換,大家可以通過對上述負載均衡算法的理解, 結合實際的需求來採用合適你的負載均衡算法,我們常用到的一般是最少連接數、最快反應、或者輪詢,決定選用那種算法, 主要還是要結合實際的需求。

 

3 服務器


  •  隨機:負載均衡方法隨機的把負載分配到各個可用的服務器上,通過隨機數生成算法選取一個服務器,然後把連接發送給它。雖然許多均衡產品都支持該算法,但是它的有效性一直受到質疑,除非把服務器的可運行時間看的很重。

  • 輪詢:輪詢算法按順序把每個新的連接請求分配給下一個服務器,最終把所有請求平分給所有的服務器。輪詢算法在大多數情況下都工作的不錯,但是如果負載均衡的設備在處理速度、連接速度和內存等方面不是完全均等,那麼效果會更好。

  • 加權輪詢:該算法中,每個機器接受的連接數量是按權重比例分配的。這是對普通輪詢算法的改進,比如你可以設定:第三臺機器的處理能力是第一臺機器的兩倍,那麼負載均衡器會把兩倍的連接數量分配給第3臺機器。

  • 動態輪詢:類似於加權輪詢,但是,權重值基於對各個服務器的持續監控,並且不斷更新。這是一個動態負載均衡算法,基於服務器的實時性能分析分配連接,比如每個節點的當前連接數或者節點的最快響應時間等。

  • 最快算法:最快算法基於所有服務器中的最快響應時間分配連接。該算法在服務器跨不同網絡的環境中特別有用。

  • 最少連接:系統把新連接分配給當前連接數目最少的服務器。該算法在各個服務器運算能力基本相似的環境中非常有效。

  • 觀察算法:該算法同時利用最小連接算法和最快算法來實施負載均衡。服務器根據當前的連接數和響應時間得到一個分數,分數較高代表性能較好,會得到更多的連接。

  • 預判算法:該算法使用觀察算法來計算分數,但是預判算法會分析分數的變化趨勢來判斷某臺服務器的性能正在改善還是降低。具有改善趨勢的服務器會得到更多的連接。該算法適用於大多數環境。

                                                                                                                                                            ——遊響雲停


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章