IPVS排程器的八種負載排程演算法學習總結

2021-06-06 20:08:49 字數 1849 閱讀 6150

一,輪叫(round robin)

排程器通過"輪叫"排程演算法將外部請求按順序輪流分配到集群中的真實伺服器上(i = (i+1) mod n, i 表示上次選中的rs,n 表示總共有多少臺rs),它均等地對待每一台伺服器,而不管伺服器上實際的連線數和系統負載。

注意:這裡其實認為每台服務的權重是0和1,對權值為0的rs,則認為不可用而不會被排程器排程到。

二,加權輪叫(weighted round robin)

排程器通過"加權輪叫"排程演算法根據真實伺服器的不同處理能力來排程訪問請求。這樣可以保證處理能力強的伺服器處理更多的訪問流量。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。這裡其實有兩種:一是可以對每個rs根據其負載能力配置乙個權值,權值為0則表示無法排程到;二是引入rs負載反饋系統,ld定時收集rs的負載情況,如傳送icmp包探測機器是否可用,鏈結響應時間等,計算乙個綜合的權重,然後排程器根據該權重進行排程。

三,最少鏈結(least connections)

排程器通過"最少連線"排程演算法動態地將網路請求排程到已建立的鏈結數最少的伺服器上。如果集群系統的真實伺服器具有相近的系統效能,採用"最小連線"排程演算法可以較好地均衡負載。前提是:連線數是衡量這些rs的比較好的指標,即認為各個rs具有相似的系統效能,且每個rs不要非均衡的部署其他的應用或者服務。

四,加權最少鏈結(weighted least connections)

在集群系統中的伺服器效能差異較大的情況下,排程器採用"加權最少鏈結"排程演算法優化負載均衡效能,具有較高權值的伺服器將承受較大比例的活動連線負載。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。min(c/w),找出鏈結數/權值最小的那個rs。

五,基於區域性性的最少鏈結(locality-based least connections)

" 基於區域性性的最少鏈結" 排程演算法是針對目標ip位址的負載均衡,目前主要用於cache集群系統。該演算法根據請求的目標ip位址找出該目標ip位址最近使用的伺服器,若該伺服器是可用的且沒有超載,將請求傳送到該伺服器;若伺服器不存在,或者該伺服器超載且有伺服器處於一半的工作負載,則用"最少鏈結" 的原則選出乙個可用的伺服器,將請求傳送到該伺服器。

六, 帶複製的基於區域性性最少鏈結(locality-based least connections with replication)

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

七,目標位址雜湊(destination hashing)

"目標位址雜湊"排程演算法根據請求的目標ip位址,作為雜湊鍵(hash key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的且未超載,將請求傳送到該伺服器,否則返回空。

八,源位址雜湊(source hashing)

"源位址雜湊"排程演算法根據請求的源ip位址,作為雜湊鍵(hash key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的且未超載,將請求傳送到該伺服器,否則返回空。

第七和第八常用在交換機排程中。

LVS負載均衡的八種排程演算法

lvs已實現了以下八種排程演算法 lvs負載均衡演算法 1.輪叫排程 round robinscheduling 排程器通過 輪叫 排程演算法將外部請求按順序輪流分配到集群中的真實伺服器上,它均等地對待每一台伺服器,而不管伺服器上實際的連線數和系統負載 lvs負載均衡演算法 2.加權輪叫排程 wei...

負載均衡伺服器採用的八種排程演算法

針對各種性質的網路服務和實際伺服器配置,負載均衡伺服器負載排程器採用了如下八種負載排程演算法 輪叫 round robin 負載均衡伺服器通過 輪叫 排程演算法將外部請求按順序輪流分配到集群中的實際伺服器上,它均等地對待每一台伺服器,而不管伺服器上實際的連線數和系統負載。加權輪叫 weighted ...

Nginx的負載排程演算法

upstream負載模組說明 upstream是nginx的http upstream模組,這個模組通過乙個簡單的排程演算法來實現客戶端ip到後端伺服器的負載均衡,通過upstream指令指定乙個負載均衡的名稱。這個名稱任意指定,在後面需要用到的地方直接呼叫即可。nginx的負載均衡模組目前支援4種...