負載均衡的基本算法,主要有如下幾種(參考F5產品):web
隨機:負載均衡方法隨機的把負載分配到各個可用的服務器上,經過隨機數生成算法選取一個服務器,而後把鏈接發送給它。雖然許多均衡產品都支持該算法,可是它的有效性一直受到質疑,除非把服務器的可運行時間看的很重。算法
輪詢:輪詢算法按順序把每一個新的鏈接請求分配給下一個服務器,最終把全部請求平分給全部的服務器。輪詢算法在大多數狀況下都工做的不錯,可是若是負載均衡的設備在處理速度、鏈接速度和內存等方面不是徹底均等,那麼效果會更好。服務器
加權輪詢:該算法中,每一個機器接受的鏈接數量是按權重比例分配的。這是對普通輪詢算法的改進,好比你能夠設定:第三臺機器的處理能力是第一臺機器的兩倍,那麼負載均衡器會把兩倍的鏈接數量分配給第3臺機器。網絡
動態輪詢:相似於加權輪詢,可是,權重值基於對各個服務器的持續監控,而且不斷更新。這是一個動態負載均衡算法,基於服務器的實時性能分析分配鏈接,好比每一個節點的當前鏈接數或者節點的最快響應時間等。負載均衡
最快算法:最快算法基於全部服務器中的最快響應時間分配鏈接。該算法在服務器跨不一樣網絡的環境中特別有用。性能
最少鏈接:系統把新鏈接分配給當前鏈接數目最少的服務器。該算法在各個服務器運算能力基本類似的環境中很是有效。spa
觀察算法:該算法同時利用最小鏈接算法和最快算法來實施負載均衡。服務器根據當前的鏈接數和響應時間獲得一個分數,分數較高表明性能較好,會獲得更多的鏈接。orm
預判算法:該算法使用觀察算法來計算分數,可是預判算法會分析分數的變化趨勢來判斷某臺服務器的性能正在改善仍是下降。具備改善趨勢的服務器會獲得更多的鏈接。該算法適用於大多數環境。blog