LVS十種排程演算法

2021-07-09 04:10:54 字數 2134 閱讀 1675

1. 靜態排程

1). rr(round robin):輪詢排程

輪詢排程演算法的原理是每一次把來自使用者的請求輪流分配給內部中的伺服器,從1開始,直到n(內部伺服器個數),然後重新開始迴圈。演算法的優點是其簡潔性,它無需記錄當前所有連線的狀態,所以它是一種無狀態排程。

2). wrr(

weighted round robin

):加權輪詢

由於每台伺服器的配置、安裝的業務應用等不同,其處理能力會不一樣。所以,我們根據伺服器的不同處理能力,給每個伺服器分配不同的權值,使其能夠接受相應權值數的服務請求。

目標位址雜湊排程演算法是針對目標ip位址的負載均衡,它是一種靜態對映演算法,通過乙個雜湊(hash)函式將乙個目標ip位址對映到一台伺服器。目標位址雜湊排程演算法先根據請求的目標ip位址,作為雜湊鍵(hash key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的且未超載,將請求傳送到該伺服器,否則返回空。

源位址雜湊排程演算法正好與目標位址雜湊排程演算法相反,它根據請求的源ip位址,作為雜湊鍵(hash key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的並且沒有超負荷,將請求傳送到該伺服器,否則返回空。它採用的雜湊函式與目標位址雜湊排程演算法的相同。

2、動態排程

1). lc(least-connection):最少連線

最少連線排程演算法是把新的連線請求分配到當前連線數最小的伺服器,最小連線排程是一種動態排程短演算法,它通過伺服器當前所活躍的連線數來估計伺服器的負載均衡,排程器需要記錄各個伺服器已建立連線的數目,當乙個請求被排程到某台伺服器,其連線數加1,當連線中止或超時,其連線數減一,在系統實現時,我們也引入當伺服器的權值為0時,表示該伺服器不可用而不被排程。

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

2). wlc(weighted least-connection scheduling):加權最少連線。

加權最小連線排程演算法是最小連線排程的超集,各個伺服器用相應的權值表示其處理效能。伺服器的預設權值為1,系統管理員可以動態地設定伺服器的許可權,加權最小連線排程在排程新連線時盡可能使伺服器的已建立連線數和其權值成比例。

簡單演算法:(active*256+inactive)/weight(活動的連線數+1)/除以權重(誰的小,挑誰)

3). sed(shortest expected delay):最短期望延遲

簡單演算法:(active+1)*256/weight (活動的連線數+1)*256/除以權重

舉例:abc三颱機器分別權重1、2、3 ,活動連線數也分別是1、2、3。那麼如果使用wlc演算法的話乙個新請求進入時它可能會分給abc中的任意乙個。使用sed演算法後會進行這樣乙個運算

a(1+1)/1

b(1+2)/2

c(1+3)/3

根據運算結果,把連線交給c 。

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

無需佇列,如果有台realserver的連線數=0就直接分配過去,不需要在進行sed運算。

5). lblc(locality-based least connection):基於區域性性的最少連線

基於區域性性的最少連線演算法是針對請求報文的目標ip位址的負載均衡排程,目前主要用於cache集群系統,因為cache集群中客戶請求報文的布標ip位址是變化的,這裡假設任何後端伺服器都可以處理任何請求,演算法的設計目標在伺服器的負載基本平衡的情況下,將相同的目標ip位址的請求排程到同乙個臺伺服器,來提高個太伺服器的訪問區域性性和主存cache命中率,從而調整整個集群系統的處理能力。 基

於區域性性的最少連線排程演算法根據請求的目標ip位址找出該目標ip位址最近使用的realserver,若該real server是可用的且沒有超載,將請求傳送到該伺服器;若伺服器不存在,或者該伺服器超載且有伺服器處於一半的工作負載,則用「最少鏈結」的原則選出乙個可用的伺服器,將請求傳送到該伺服器。

帶複製的基於區域性性最少鏈結排程演算法也是針對目標ip位址的負載均衡,該演算法根據請求的目標ip位址找出該目標ip位址對應的伺服器組,按「最小連線」原則從伺服器組中選出一台伺服器,若伺服器沒有超載,將請求傳送到該伺服器;若伺服器超載,則按「最小連線」原則從這個集群中選出一台伺服器,將該伺服器加入到伺服器組中,將請求傳送到該伺服器。同時,當該伺服器組有一段時間沒有被修改,將最忙的伺服器從伺服器組中刪除,以降低複製的程度。

LVS十種排程演算法介紹

9.最短的期望的延遲 shortest expected delay scheduling sed sed 基於wlc演算法。這個必須舉例來說了 abc三颱機器分別權重123 連線數也分別是123。那麼如果使用wlc演算法的話乙個新請求進入時它可能會分給abc中的任意乙個。使用sed演算法後會進行這...

LVS 十種演算法

lvs虛擬伺服器是章文嵩在國防科技大學就讀博士期間建立的,lvs可以實現高可用的 可伸縮的網路服務。lvs集群組成 前端 負載均衡層 一台或多台負責排程器構成 中間 伺服器群組層 由一組實際執行應用服務的伺服器組成 底層 資料共享儲存層 提供共享儲存空間的儲存區域 director server 排...

LVS三種工作模式 十種排程演算法介紹

工作模式介紹 1.virtual server via nat vs nat 優點 集群中的物理伺服器可以使用任何支援tcp ip作業系統,物理伺服器可以分配internet的保留私有位址,只有負載均衡器需要乙個合法的ip位址。缺點 擴充套件性有限。當伺服器節點 普通pc伺服器 資料增長到20個或更...