LVS 實現負載均衡基礎

2021-09-24 16:40:01 字數 2062 閱讀 7810

1、負載均衡

負載均衡集群是 load balance 集群的簡寫,翻譯成中文就是負載均衡集群。常用的負載均衡開源軟體有nginx、lvs、haproxy,商業的硬體負載均衡裝置f5、netscale。

常見的負載均衡器

(1)根據工作的協議層可劃分為:

四層負載均衡(位於核心層):根據請求報文中的目標位址和埠進行排程

七層負載均衡(位於應用層):根據請求報文的內容進行排程,這種排程屬於「**「的方式,如varnish

(2)根據軟硬體劃分為:

硬體負載均衡:

f5 的 big-ip;citrix 的 netscaler

軟體負載均衡:

a.tcp 層:lvs,haproxy,nginx;

b.基於 http協議:haproxy,nginx,ats(apache traffic server),squid,varnish;

c.基於 mysql 協議:mysql-proxy

2、 lvs

lvs是 linux virtual server 的簡稱,也就是linux虛擬伺服器。lvs 可以達到的技術目標是:通過 lvs 達到的負載均衡技術和 linux 作業系統實現乙個高效能高可用的 linux 伺服器集群,它具有良好的可靠性、可擴充套件性和可操作性。從而以低廉的成本實現最優的效能。lvs 是乙個實現負載均衡集群的開源軟體專案,lvs架構從邏輯上可分為排程層、server集群層和共享儲存。

實現原理:

lvs的組成

lvs 由2部分程式組成,包括 ipvs 和 ipvsadm。

lvs相關術語

lvs 後端伺服器排程模式

三種工作模式:

1、lvs/nat

2、lvs/dr

3、lvs/tun

lvs的八種排程演算法

1.輪叫排程 rr

這種演算法是最簡單的,就是按依次迴圈的方式將請求排程到不同的伺服器上,該演算法最大的特點就是簡單。輪詢演算法假設所有的伺服器處理請求的能力都是一樣的,排程器會將所有的請求平均分配給每個真實伺服器,不管後端 rs 配置和處理能力,非常均衡地分發下去。

2. 加權輪叫 wrr

這種演算法比 rr 的演算法多了乙個權重的概念,可以給 rs 設定權重,權重越高,那麼分發的請求數越多,權重的取值範圍 0 – 100。主要是對rr演算法的一種優化和補充, lvs 會考慮每台伺服器的效能,並給每台伺服器新增要給權值,如果伺服器a的權值為1,伺服器b的權值為2,則排程到伺服器b的請求會是伺服器a的2倍。權值越高的伺服器,處理的請求越多。

3. 最少鏈結 lc

這個演算法會根據後端 rs 的連線數來決定把請求分發給誰,比如 rs1 連線數比 rs2 連線數少,那麼請求就優先發給 rs1

4. 加權最少鏈結 wlc

這個演算法比 lc 多了乙個權重的概念。

5. 基於區域性性的最少連線排程演算法 lblc

這個演算法是請求資料報的目標 ip 位址的一種排程演算法,該演算法先根據請求的目標 ip 位址尋找最近的該目標 ip 位址所有使用的伺服器,如果這台伺服器依然可用,並且有能力處理該請求,排程器會盡量選擇相同的伺服器,否則會繼續選擇其它可行的伺服器

6. 複雜的基於區域性性最少的連線演算法 lblcr

記錄的不是要給目標 ip 與一台伺服器之間的連線記錄,它會維護乙個目標 ip 到一組伺服器之間的對映關係,防止單點伺服器負載過高。

7. 目標位址雜湊排程演算法 dh

該演算法是根據目標 ip 位址通過雜湊函式將目標 ip 與伺服器建立對映關係,出現伺服器不可用或負載過高的情況下,發往該目標 ip 的請求會固定發給該伺服器。

8. 源位址雜湊排程演算法 sh

與目標位址雜湊排程演算法類似,但它是根據源位址雜湊演算法進行靜態分配固定的伺服器資源。

負載均衡 lvs

常用的負載均衡開源軟體有nginx lvs haproxy,商業的硬體負載均衡裝置f5 netscale。負載均衡的架構和原理很簡單,就是當使用者的請求過來時,會直接分發到director server上,然後它把使用者的請求根據設定好的排程演算法,智慧型均衡地分發到後端真正伺服器上。為了避免不同機...

LVS負載均衡

一 lvs簡介 lvs linux virtual server 即linux虛擬伺服器,是由章文嵩博士主導的開源負載均衡專案,目前lvs已經被整合到linux核心模組中。該專案在linux核心中實現了基於ip的資料請求負載均衡排程方案,其體系結構如圖1所示,終端網際網路使用者從外部訪問公司的外部負...

LVS負載均衡

應用層7 nginx 軟體 表示層6 會話層5 傳輸層4 lvs 核心 網路層3 鏈路層2 物理層1 整個網際網路建立在下一跳的模式下 端點間tcp傳輸過程中 解析資料報需要成本 學習機制 路由器 三層,只關心ip和路由表 lvs伺服器 四層,只關心port,狀態 nginx 七層,關心socket...