負載均衡的基本算法

ec3y 10年前發布 | 21K 次閱讀 負載均衡 算法

負載均衡的基本算法,主要有以下幾種(參考F5產品):

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

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

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

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

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

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

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

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

 本文由用戶 ec3y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!