彙總常見的負載均衡演算法及其實現原理。
負載均衡演算法名
實現原理
輪詢(round robin)
將請求按照順序分配到後端伺服器上,需要注意的是,實現過程中需要對位址列表下標position進行同步,即需要記錄當前下標在陣列哪。
隨機(random)
隨機返回位址列表的下標及對應位址。
源位址雜湊法(hash)
獲取訪問ip位址,得到其雜湊值,然後與位址列表大小進行取模運算,得到位址列表的序號。這種演算法有個特性,及請求ip不變時,其對應的服務位址也不會變,適合需要維護session的場景。
加權輪詢(weight round robin)
考慮到伺服器效能的差異,有的效能高(抗壓力強),可以多分配一些請求給它。因此在設計演算法時,可以將權重高的服務位址在位址列表中多新增幾次,這樣擴充了待選擇的位址列表的大小,同時也增加了高權重伺服器被選擇到的概率。
加權隨機(weight random)
與加權輪詢演算法異曲同工,將權重高的服務位址在位址列表中多新增幾次。
最小連線數(least connections)
依據每台機器當前的請求量來分配請求,有新請求過來,優先分配給請求量小的機器。這種實現就比較複雜,需要感知每台機器的時時鏈結數。
負載均衡演算法
輪循演算法 roundrobin 說明 每一次來自網路的請求輪流分配給內部中的每台伺服器,從1至n然後重新開始 舉例 適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均服務請求相對均衡的情況 最少連線演算法 leastconnection 說明 客戶端的每一次請求服務在伺服器停留的時間都可能會...
負載均衡演算法
網際網路分布式系統中,很多服務是資料儲存相關的,海量訪問量下,直接訪問儲存介質是抗不住的,需要使用cache,cache集群的負載均衡演算法就成為乙個重要的話題,這裡對現有的負載均衡演算法進行一些總結。btw 雖然是cache負載均衡演算法小結,其實可以說是負載均衡演算法小結,只是針對cache應用...
負載均衡演算法
負載均衡演算法的實現可以分成兩部分 1 根據負載均衡演算法和web伺服器列表計算得到集群中一台web伺服器的位址 2 將請求資料傳送到該位址對應的web伺服器上 負載均衡演算法通常有以下幾種 1 輪詢 round robin rr 所有請求被依次分發到每台應用伺服器上,即每台應用伺服器要處理的請求數...