LVS十種調(diào)度算法

1、靜態(tài)調(diào)度:

      ①rr(Round Robin):輪詢調(diào)度,輪叫調(diào)度

      輪詢調(diào)度算法的原理是每一次把來自用戶的請求輪流分配給內(nèi)部中的服務器,從1開始,直到N(內(nèi)部服務器個數(shù)),然后重新開始循環(huán)。算法的優(yōu)點是其簡潔性,它無需記錄當前所有連接的狀態(tài),所以它是一種無狀態(tài)調(diào)度?!咎崾荆哼@里是不考慮每臺服務器的處理能力】

     ②wrr:weight,加權(quán)(以權(quán)重之間的比例實現(xiàn)在各主機之間進行調(diào)度)

     由于每臺服務器的配置、安裝的業(yè)務應用等不同,其處理能力會不一樣。所以,我們根據(jù)服務器的不同處理能力,給每個服務器分配不同的權(quán)值,使其能夠接受相應權(quán)值數(shù)的服務請求。

③sh:source hashing,源地址散列。主要實現(xiàn)會話綁定,能夠?qū)⒋饲敖⒌膕ession信息保留了

源地址散列調(diào)度算法正好與目標地址散列調(diào)度算法相反,它根據(jù)請求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應的服務器,若該服務器是可用的并且沒有超負荷,將請求發(fā)送到該服務器,否則返回空。它采用的散列函數(shù)與目標地址散列調(diào)度算法的相同。它的算法流程與目標地址散列調(diào)度算法的基本相似,除了將請求的目標IP地址換成請求的源IP地址,所以這里不一個一個敘述。

④Dh:Destination hashing:目標地址散列。把同一個IP地址的請求,發(fā)送給同一個server。

目標地址散列調(diào)度算法也是針對目標IP地址的負載均衡,它是一種靜態(tài)映射算法,通過一個散列(Hash)函數(shù)將一個目標IP地址映射到一臺服務器。目標地址散列調(diào)度算法先根據(jù)請求的目標IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應的服務器,若該服務器是可用的且未超載,將請求發(fā)送到該服務器,否則返回空。

2、動態(tài)調(diào)度

①lc(Least-Connection):最少連接

最少連接調(diào)度算法是把新的連接請求分配到當前連接數(shù)最小的服務器,最小連接調(diào)度是一種動態(tài)調(diào)度短算法,它通過服務器當前所活躍的連接數(shù)來估計服務器的負載均衡,調(diào)度器需要記錄各個服務器已建立連接的數(shù)目,當一個請求被調(diào)度到某臺服務器,其連接數(shù)加1,當連接中止或超時,其連接數(shù)減一,在系統(tǒng)實現(xiàn)時,我們也引入當服務器的權(quán)值為0時,表示該服務器不可用而不被調(diào)度。

簡單算法:active*256+inactive(誰的小,挑誰)

②wlc(Weighted Least-Connection Scheduling):加權(quán)最少連接。

加權(quán)最小連接調(diào)度算法是最小連接調(diào)度的超集,各個服務器用相應的權(quán)值表示其處理性能。服務器的缺省權(quán)值為1,系統(tǒng)管理員可以動態(tài)地設(shè)置服務器的權(quán)限,加權(quán)最小連接調(diào)度在調(diào)度新連接時盡可能使服務器的已建立連接數(shù)和其權(quán)值成比例。

簡單算法:(active*256+inactive)/weight【(活動的連接數(shù)+1)/除以權(quán)重】(誰的小,挑誰)

③sed(Shortest Expected Delay):最短期望延遲

基于wlc算法

簡單算法:(active+1)*256/weight 【(活動的連接數(shù)+1)*256/除以權(quán)重】

④nq(never queue):永不排隊(改進的sed)

無需隊列,如果有臺realserver的連接數(shù)=0就直接分配過去,不需要在進行sed運算。

⑤LBLC(Locality-Based Least Conn

網(wǎng)友評論