Nginx LVS的負載均衡演算法

2021-10-19 03:42:19 字數 1341 閱讀 2994

靜態:根據lvs本身自由的固定的演算法分發使用者請求。

輪詢(round robin 簡寫』rr』):輪詢演算法假設所有的伺服器處理請求的能力都一樣的,排程器會把所有的請求平均分配給每個真實伺服器 (同nginx的輪詢類似)

加權輪詢(weight round robin 簡寫』wrr』):安裝權重比例分配使用者請求。權重越高,被分配到處理的請求越多。(同nginx的權重)

動態:會根據流量的不同,或者伺服器的壓力不同來分配使用者請求,這是動態計算的。

最小連線數(least connections 簡寫』lc』):把新的連線請求分配到當前連線數最小的伺服器。

加權最少連線數(weight least connections 簡寫』wlc』):伺服器的處理效能用數值來代表,權重越大處理的請求越多。real server 有可能會存在效能上動態獲取不同伺服器的負載狀況,把請求分發到效能好並且比較空閒的伺服器。

最短期望延遲(shortest expected delay 簡寫』sed』):特殊的wlc演算法。舉例闡述,假設有abc三颱伺服器,權重分別為1、2、3 。如果使用wlc演算法的話求進來,它可能會分給abc中的任意乙個。使用sed演算法後會進行如下運算:

最少佇列排程(never queue 簡寫』nq』):永不使用佇列。如果有real server的連線數等於0,則直接把這個請求分配過去,不需要在排隊等待運算了

加權最少連線數(weight least connections 簡寫』wlc』):伺服器的處理效能用數值來代表,權重越大處理的請求越多。real server 有可能會存在效能上

動態獲取不同伺服器的負載狀況,把請求分發到效能好並且比較空閒的伺服器。

最短期望延遲(shortest expected delay 簡寫』sed』):特殊的wlc演算法。舉例闡述,假設有abc三颱伺服器,權重分別為1、2、3 。如果使用wlc演算法的話

求進來,它可能會分給abc中的任意乙個。使用sed演算法後會進行如下運算:

a:(1+1)/1=2

b:(1+2)/2=3/2

c:(1+3)/3=4/3

最終結果,會把這個請求交給得出運算結果最小的伺服器。

\4. 最少佇列排程(never queue 簡寫』nq』):永不使用佇列。如果有real server的連線數等於0,則直接把這個請求分配過去,不需要在排隊等待運算了(s

lvs在實際使用過程中,負載均衡演算法用的較多的分別為wlc或wrr,簡單易用。

作為普通開發人員,對lvs集群的負載演算法有一定的了解即可,因為你要和運維人員進行有效溝通;但是如果作為運維的話那麼是要深入鑽研lvs了,乙個企業如果使用到lvs了,那麼業務量是十分巨大的,並且也會有專門的運維團隊來負責網路架構的。

nginx lvs 負載均衡

三大主流軟體負載均衡器對比 lvs nginx haproxy 資料來自網路,做了部分的補充說明 lvs 1.抗負載能力強,效能高,能達到f5的60 對記憶體和cpu資源消耗比較低 2.工作在網路4層,通過vrrp協議 僅作 之用 具體的流量是由linux核心來處理,因此沒有流量的產生。3.穩定,可...

負載均衡演算法

輪循演算法 roundrobin 說明 每一次來自網路的請求輪流分配給內部中的每台伺服器,從1至n然後重新開始 舉例 適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均服務請求相對均衡的情況 最少連線演算法 leastconnection 說明 客戶端的每一次請求服務在伺服器停留的時間都可能會...

負載均衡演算法

網際網路分布式系統中,很多服務是資料儲存相關的,海量訪問量下,直接訪問儲存介質是抗不住的,需要使用cache,cache集群的負載均衡演算法就成為乙個重要的話題,這裡對現有的負載均衡演算法進行一些總結。btw 雖然是cache負載均衡演算法小結,其實可以說是負載均衡演算法小結,只是針對cache應用...