算法 | 說明 |
rr 輪詢調度(Round-Robin) | 它將請求一次分配不一樣的RS,也就是在RS中均攤請求,算法簡單,可是隻適合於RS處理性能相差不大的狀況(多個服務器硬件配置差很少) |
wrr加權輪詢調度(Weighted Round-Robin) | 它根據RS不一樣的權值分配任務,權值高的RS優先得到請求,分配到的鏈接數將比權值低的RS更多,權值相同的RS獲得的鏈接數數目相同 |
wlc加權最小鏈接數調度(Weighted Least-Comnection) (WLC) | 具備較高權值的服務器將承受較大比例的活動鏈接負載。調度器能夠自動問詢真實服務器的負載狀況,並動態地調整其權值。算法 假設各臺RS的權值依次爲Wi(l = 1..n),當前的TCP鏈接數依次爲Ti(l=1..n)依次選取Wi/Ti爲最小的RS做爲下一個分配的RS服務器 |
dh 目的地址哈希調度(Destination Hashing) | 以目的地址爲關鍵字查找一個靜態hash表來得到須要的RS |
sh 源地址哈希調度(Source Hashing) | 以源地址做爲關鍵字查找一個靜態hash表來獲取須要的RS |
LBLC 基於局部性的最少連接(Locality-Based Least Connections) | 針對目標IP地址的負載均衡,目前主要用於Cache集羣系統。該算法根據請求的目標IP地址找出該目標IP地址最近使用的服務器,若該服務器是可用的且沒有超載,將請求發送到該服務器;若服務器不存在,或者該服務器超載且有服務器處於一半的工做負載,則用「最少連接」 的原則選出一個可用的服務器,將請求發送到該服務器。 |
LBLCR 帶複製的基於局部性最少連接(Locality-Based Least Connections with Replication) | 也是針對目標IP地址的負載均衡,目前主要用於Cache集羣系統。它與LBLC算法的不一樣之處是它要維護從一個目標 IP地址到一組服務器的映射,而LBLC算法維護從一個目標IP地址到一臺服務器的映射。該算法根據請求的目標IP地址找出該目標IP地址對應的服務器組,按「最小鏈接」原則從服務器組中選出一臺服務器,若服務器沒有超載,將請求發送到該服務器;若服務器超載,則按「最小鏈接」原則從這個集羣中選出一臺服務器,將該服務器加入到服務器組中,將請求發送到該服務器。同時,當該服務器組有一段時間沒有被修改,將最忙的服務器從服務器組中刪除,以下降複製的程度。 |
DH 目標地址散列(Destination Hashing) | 根據請求的目標IP地址,做爲散列鍵(Hash Key)從靜態分配的散列表找出對應的服務器,若該服務器是可用的且未超載,將請求發送到該服務器,不然返回空。 |
SH 源地址散列(Source Hashing) |
根據請求的源IP地址,做爲散列鍵(Hash Key)從靜態分配的散列表找出對應的服務器,若該服務器是可用的且未超載,將請求發送到該服務器,不然返回空。 |
SED 最短的指望的延遲(Shortest Expected Delay Scheduling SED) | 基於wlc算法負載均衡 ABC三臺機器分別權重123 ,鏈接數也分別是123。那麼若是使用WLC算法的話一個新請求進入時它可能會分給ABC中的任意一個。使用sed算法後會進行這樣一個運算ide A(1+1)/1性能 B(1+2)/2spa C(1+3)/3orm 根據運算結果,把鏈接交給C 。server |
NQ 最少隊列調度(Never Queue Scheduling NQ) | 無需隊列。若是有臺 realserver的鏈接數=0就直接分配過去,不須要在進行sed運算 |