常見的負載均衡策略


常見的負載均衡策略


輪詢(Round Robin)

輪詢的實現方式比較簡單,就是將請求以此分發到后端服務器中,將所有的請求均勻分配,均勻分配的壞處是通常后台服務器性能有差異,有時候希望性能較好的服務器可以多承擔些請求,該策略無法滿足需求。這個不適合對長連接和命中率有要求的場景。

加強輪詢(Weighted Round Robin)

這種策略是對輪詢策略的優化,對每個后端服務器設置一個權重值,根據權重值決定請求的分配比例,這種做法解決了輪詢策略的不足,但是該權限值需要手動配置,沒有辦法自動動態調節,同樣不適合對長連接和命中率有要求的場景。

hash算法

通過ip url等信息計算hash值,然后對服務器的數量取模,相同的請求會請求到同一個后端服務器中。該算法無法解決熱點請求,會把某個時間段的熱點請求路由到某個單機上,造成雪崩效應,同時在擴中和節點宕機時發生命中率急劇降低的問題(hash算法導致),該策略適合維護長連接和提高命中率。

隨機Random

根據隨機算法,將請求隨機分配到后端服務器中,請求的均勻請求依賴於隨機算法,該實現方式較為簡單,常常可以配合處理一些極端的請求,例如熱點請求情況。不適合對命中率有要求的場景。 ##一致性hash算法 對hash 算法的優化,可以有效的解決宕機和擴充造成的命中率急劇降低的問題。

最小連接數 Least Connection

通過活動來估計后端服務器的負載,把請求分配給活動連接數最小的后端服務器,算法比較智能,但是需要額外的資源維護后端服務器的連接列表。

加權最小連接數 Weighted Least Connection

對Least Connection策略的優化,通過加權的方式優化Least Connection的性能,對性能較好的后端服務器設置較高的權重,承擔更多的鏈接負載。

最短響應時間 Least Response Time

該策略的意思就是將請求分配給平均響應時間最短的后端服務器,平均時間可以通過ping或者正常的響應時間來獲取 。


后面會逐一對各個常見的負載均衡策略的實現做介紹。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM