負載均衡的演算法

人魚線發表於2016-10-07

1、輪詢法

  將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一臺伺服器,而不關心伺服器實際的連線數和當前的系統負載。

2、隨機法

     通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一臺伺服器進行訪問。由概率統計理論可以得知,隨著客戶端呼叫服務端的次數增多,

其實際效果越來越接近於平均分配呼叫量到後端的每一臺伺服器,也就是輪詢的結果。

3、源地址雜湊法

     源地址雜湊的思想是根據獲取客戶端的IP地址,通過雜湊函式計算得到的一個數值,用該數值對伺服器列表的大小進行取模運算,得到的結果便是客服端要訪問伺服器的序號。採用源地址雜湊法進行負載均衡,同一IP地址的客戶端,當後端伺服器列表不變時,它每次都會對映到同一臺後端伺服器進行訪問。

4、加權輪詢法

  不同的後端伺服器可能機器的配置和當前系統的負載並不相同,因此它們的抗壓能力也不相同。給配置高、負載低的機器配置更高的權重,讓其處理更多的請;而配置低、負載高的機器,給其分配較低的權重,降低其系統負載,加權輪詢能很好地處理這一問題,並將請求順序且按照權重分配到後端。

5、加權隨機法

     與加權輪詢法一樣,加權隨機法也根據後端機器的配置,系統的負載分配不同的權重。不同的是,它是按照權重隨機請求後端伺服器,而非順序。

6、最小連線數法

     最小連線數演算法比較靈活和智慧,由於後端伺服器的配置不盡相同,對於請求的處理有快有慢,它是根據後端伺服器當前的連線情況,動態地選取其中當前

積壓連線數最少的一臺伺服器來處理當前的請求,儘可能地提高後端服務的利用效率,將負責合理地分流到每一臺伺服器。

7、

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


相關文章