LVS的10個調度算法

1. 大鍋飯調度(Round-Robin Scheduling RR)
rr - 純輪詢方式,比較垃圾。把每項請求按順序在真正服務器中分派。


2. 帶權重的大鍋飯調度(Weighted Round-Robin Scheduling WRR)
wrr -帶權重輪詢方式。把每項請求按順序在真正服務器中循環分派,但是給能力較大的服務器分派較多的作業。


3. 誰不幹活就給誰分配(Least-Connection LC)
lc - 根據最小連接數分派


4. 帶權重的誰不幹活就給誰分配(Weighted Least-Connections WLC 默認)
wlc - 帶權重的。機器配置好的權重高。


5. 基於地區的最少連接調度(Locality-Based Least-Connection Scheduling LBLC)
lblc - 緩存服務器集羣。基於本地的最小連接。把請求傳遞到負載小的服務器上。


6. 帶有複製調度的基於地區的最少連接調度(Locality-Based Least-Connection Scheduling with Replication Scheduling LBLCR)
lblcr - 帶複製調度的緩存服務器集羣。某頁面緩存在服務器A上,被訪問次數極高,而其他緩存服務器負載較低,監視是否訪問同一頁面,如果是訪問同一頁面則把請求分到其他服務器。


7. 目標散列調度(Destination Hash Scheduling DH)
realserver中綁定兩個ip。ld判斷來者的ISP商,將其轉到相應的IP。


8. 源散列調度(Source Hash Scheduling SH)
源地址散列。基於client地址的來源區分。(用的很少)


轉載自:http://chqz1987.blog.163.com/blog/static/51438311201272804410941/
9. 最短的期望的延遲(Shortest Expected Delay Scheduling SED)
基於wlc算法。這個必須舉例來說了
ABC三臺機器分別權重123 ,連接數也分別是123。那麼如果使用WLC算法的話一個新請求進入時它可能會分給ABC中的任意一個。使用sed算法後會進行這樣一個運算
A:(1+1)/1
B:(1+2)/2
C:(1+3)/3
根據運算結果,把連接交給C 。

個人理解的算法是(1+當前連接數)/權重。

10.最少隊列調度(Never Queue Scheduling NQ)
無需隊列。如果有臺realserver的連接數=0就直接分配過去,不需要在進行sed運算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章