自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LVS負(fù)載均衡(LVS簡介、三種工作模式、十種調(diào)度算法)

云計算 虛擬化 算法
LVS(Linux Virtual Server)即Linux虛擬服務(wù)器,是由章文嵩博士主導(dǎo)的開源負(fù)載均衡項目,目前LVS已經(jīng)被集成到Linux內(nèi)核模塊中。

LVS簡介

LVS(Linux Virtual Server)即Linux虛擬服務(wù)器,是由章文嵩博士主導(dǎo)的開源負(fù)載均衡項目,目前LVS已經(jīng)被集成到Linux內(nèi)核模塊中。該項目在Linux內(nèi)核中實現(xiàn)了基于IP的數(shù)據(jù)請求負(fù)載均衡調(diào)度方案,其體系結(jié)構(gòu)如圖1所示,終端互聯(lián)網(wǎng)用戶從外部訪問公司的外部負(fù)載均衡服務(wù)器,終端用戶的Web請求會發(fā)送給LVS調(diào)度器,調(diào)度器根據(jù)自己預(yù)設(shè)的算法決定將該請求發(fā)送給后端的某臺Web服務(wù)器,比如,輪詢算法可以將外部的請求平均分發(fā)給后端的所有服務(wù)器,終端用戶訪問LVS調(diào)度器雖然會被轉(zhuǎn)發(fā)到后端真實的服務(wù)器,但如果真實服務(wù)器連接的是相同的存儲,提供的服務(wù)也是相同的服務(wù),最終用戶不管是訪問哪臺真實服務(wù)器,得到的服務(wù)內(nèi)容都是一樣的,整個集群對用戶而言都是透明的。最后根據(jù)LVS工作模式的不同,真實服務(wù)器會選擇不同的方式將用戶需要的數(shù)據(jù)發(fā)送到終端用戶,LVS工作模式分為NAT模式、TUN模式、以及DR模式。

LVS負(fù)載均衡(LVS簡介、三種工作模式、十種調(diào)度算法)

三種工作模式的解析。

1、基于NAT的LVS模式負(fù)載均衡

NAT(Network Address Translation)即網(wǎng)絡(luò)地址轉(zhuǎn)換,其作用是通過數(shù)據(jù)報頭的修改,使得位于企業(yè)內(nèi)部的私有IP地址可以訪問外網(wǎng),以及外部用用戶可以訪問位于公司內(nèi)部的私有IP主機(jī)。VS/NAT工作模式拓?fù)浣Y(jié)構(gòu)如圖2所示,LVS負(fù)載調(diào)度器可以使用兩塊網(wǎng)卡配置不同的IP地址,eth0設(shè)置為私鑰IP與內(nèi)部網(wǎng)絡(luò)通過交換設(shè)備相互連接,eth1設(shè)備為外網(wǎng)IP與外部網(wǎng)絡(luò)聯(lián)通。

第一步,用戶通過互聯(lián)網(wǎng)DNS服務(wù)器解析到公司負(fù)載均衡設(shè)備上面的外網(wǎng)地址,相對于真實服務(wù)器而言,LVS外網(wǎng)IP又稱VIP(Virtual IP Address),用戶通過訪問VIP,即可連接后端的真實服務(wù)器(Real Server),而這一切對用戶而言都是透明的,用戶以為自己訪問的就是真實服務(wù)器,但他并不知道自己訪問的VIP僅僅是一個調(diào)度器,也不清楚后端的真實服務(wù)器到底在哪里、有多少真實服務(wù)器。

第二步,用戶將請求發(fā)送至124.126.147.168,此時LVS將根據(jù)預(yù)設(shè)的算法選擇后端的一臺真實服務(wù)器(192.168.0.1~192.168.0.3),將數(shù)據(jù)請求包轉(zhuǎn)發(fā)給真實服務(wù)器,并且在轉(zhuǎn)發(fā)之前LVS會修改數(shù)據(jù)包中的目標(biāo)地址以及目標(biāo)端口,目標(biāo)地址與目標(biāo)端口將被修改為選出的真實服務(wù)器IP地址以及相應(yīng)的端口。

第三步,真實的服務(wù)器將響應(yīng)數(shù)據(jù)包返回給LVS調(diào)度器,調(diào)度器在得到響應(yīng)的數(shù)據(jù)包后會將源地址和源端口修改為VIP及調(diào)度器相應(yīng)的端口,修改完成后,由調(diào)度器將響應(yīng)數(shù)據(jù)包發(fā)送回終端用戶,另外,由于LVS調(diào)度器有一個連接Hash表,該表中會記錄連接請求及轉(zhuǎn)發(fā)信息,當(dāng)同一個連接的下一個數(shù)據(jù)包發(fā)送給調(diào)度器時,從該Hash表中可以直接找到之前的連接記錄,并根據(jù)記錄信息選出相同的真實服務(wù)器及端口信息。

LVS負(fù)載均衡(LVS簡介、三種工作模式、十種調(diào)度算法)

2、基于TUN的LVS負(fù)載均衡

在LVS(NAT)模式的集群環(huán)境中,由于所有的數(shù)據(jù)請求及響應(yīng)的數(shù)據(jù)包都需要經(jīng)過LVS調(diào)度器轉(zhuǎn)發(fā),如果后端服務(wù)器的數(shù)量大于10臺,則調(diào)度器就會成為整個集群環(huán)境的瓶頸。我們知道,數(shù)據(jù)請求包往往遠(yuǎn)小于響應(yīng)數(shù)據(jù)包的大小。因為響應(yīng)數(shù)據(jù)包中包含有客戶需要的具體數(shù)據(jù),所以LVS(TUN)的思路就是將請求與響應(yīng)數(shù)據(jù)分離,讓調(diào)度器僅處理數(shù)據(jù)請求,而讓真實服務(wù)器響應(yīng)數(shù)據(jù)包直接返回給客戶端。VS/TUN工作模式拓?fù)浣Y(jié)構(gòu)如圖3所示。其中,IP隧道(IP tunning)是一種數(shù)據(jù)包封裝技術(shù),它可以將原始數(shù)據(jù)包封裝并添加新的包頭(內(nèi)容包括新的源地址及端口、目標(biāo)地址及端口),從而實現(xiàn)將一個目標(biāo)為調(diào)度器的VIP地址的數(shù)據(jù)包封裝,通過隧道轉(zhuǎn)發(fā)給后端的真實服務(wù)器(Real Server),通過將客戶端發(fā)往調(diào)度器的原始數(shù)據(jù)包封裝,并在其基礎(chǔ)上添加新的數(shù)據(jù)包頭(修改目標(biāo)地址為調(diào)度器選擇出來的真實服務(wù)器的IP地址及對應(yīng)端口),LVS(TUN)模式要求真實服務(wù)器可以直接與外部網(wǎng)絡(luò)連接,真實服務(wù)器在收到請求數(shù)據(jù)包后直接給客戶端主機(jī)響應(yīng)數(shù)據(jù)。

LVS負(fù)載均衡(LVS簡介、三種工作模式、十種調(diào)度算法)

3、基于DR的LVS負(fù)載均衡

在LVS(TUN)模式下,由于需要在LVS調(diào)度器與真實服務(wù)器之間創(chuàng)建隧道連接,這同樣會增加服務(wù)器的負(fù)擔(dān)。與LVS(TUN)類似,DR模式也叫直接路由模式,其體系結(jié)構(gòu)如圖4所示,該模式中LVS依然僅承擔(dān)數(shù)據(jù)的入站請求以及根據(jù)算法選出合理的真實服務(wù)器,最終由后端真實服務(wù)器負(fù)責(zé)將響應(yīng)數(shù)據(jù)包發(fā)送返回給客戶端。與隧道模式不同的是,直接路由模式(DR模式)要求調(diào)度器與后端服務(wù)器必須在同一個局域網(wǎng)內(nèi),VIP地址需要在調(diào)度器與后端所有的服務(wù)器間共享,因為最終的真實服務(wù)器給客戶端回應(yīng)數(shù)據(jù)包時需要設(shè)置源IP為VIP地址,目標(biāo)IP為客戶端IP,這樣客戶端訪問的是調(diào)度器的VIP地址,回應(yīng)的源地址也依然是該VIP地址(真實服務(wù)器上的VIP),客戶端是感覺不到后端服務(wù)器存在的。由于多臺計算機(jī)都設(shè)置了同樣一個VIP地址,所以在直接路由模式中要求調(diào)度器的VIP地址是對外可見的,客戶端需要將請求數(shù)據(jù)包發(fā)送到調(diào)度器主機(jī),而所有的真實服務(wù)器的VIP地址必須配置在Non-ARP的網(wǎng)絡(luò)設(shè)備上,也就是該網(wǎng)絡(luò)設(shè)備并不會向外廣播自己的MAC及對應(yīng)的IP地址,真實服務(wù)器的VIP對外界是不可見的,但真實服務(wù)器卻可以接受目標(biāo)地址VIP的網(wǎng)絡(luò)請求,并在回應(yīng)數(shù)據(jù)包時將源地址設(shè)置為該VIP地址。調(diào)度器根據(jù)算法在選出真實服務(wù)器后,在不修改數(shù)據(jù)報文的情況下,將數(shù)據(jù)幀的MAC地址修改為選出的真實服務(wù)器的MAC地址,通過交換機(jī)將該數(shù)據(jù)幀發(fā)給真實服務(wù)器。整個過程中,真實服務(wù)器的VIP不需要對外界可見。

LVS負(fù)載均衡(LVS簡介、三種工作模式、十種調(diào)度算法)

LVS負(fù)載均衡調(diào)度算法

根據(jù)前面的介紹,我們了解了LVS的三種工作模式,但不管實際環(huán)境中采用的是哪種模式,調(diào)度算法進(jìn)行調(diào)度的策略與算法都是LVS的核心技術(shù),LVS在內(nèi)核中主要實現(xiàn)了一下十種調(diào)度算法。

1.輪詢調(diào)度

輪詢調(diào)度(Round Robin 簡稱'RR')算法就是按依次循環(huán)的方式將請求調(diào)度到不同的服務(wù)器上,該算法最大的特點就是實現(xiàn)簡單。輪詢算法假設(shè)所有的服務(wù)器處理請求的能力都一樣的,調(diào)度器會將所有的請求平均分配給每個真實服務(wù)器。

2.加權(quán)輪詢調(diào)度

加權(quán)輪詢(Weight Round Robin 簡稱'WRR')算法主要是對輪詢算法的一種優(yōu)化與補(bǔ)充,LVS會考慮每臺服務(wù)器的性能,并給每臺服務(wù)器添加一個權(quán)值,如果服務(wù)器A的權(quán)值為1,服務(wù)器B的權(quán)值為2,則調(diào)度器調(diào)度到服務(wù)器B的請求會是服務(wù)器A的兩倍。權(quán)值越高的服務(wù)器,處理的請求越多。

3.最小連接調(diào)度

最小連接調(diào)度(Least Connections 簡稱'LC')算法是把新的連接請求分配到當(dāng)前連接數(shù)最小的服務(wù)器。最小連接調(diào)度是一種動態(tài)的調(diào)度算法,它通過服務(wù)器當(dāng)前活躍的連接數(shù)來估計服務(wù)器的情況。調(diào)度器需要記錄各個服務(wù)器已建立連接的數(shù)目,當(dāng)一個請求被調(diào)度到某臺服務(wù)器,其連接數(shù)加1;當(dāng)連接中斷或者超時,其連接數(shù)減1。

(集群系統(tǒng)的真實服務(wù)器具有相近的系統(tǒng)性能,采用最小連接調(diào)度算法可以比較好地均衡負(fù)載。)

4.加權(quán)最小連接調(diào)度

加權(quán)最少連接(Weight Least Connections 簡稱'WLC')算法是最小連接調(diào)度的超集,各個服務(wù)器相應(yīng)的權(quán)值表示其處理性能。服務(wù)器的缺省權(quán)值為1,系統(tǒng)管理員可以動態(tài)地設(shè)置服務(wù)器的權(quán)值。加權(quán)最小連接調(diào)度在調(diào)度新連接時盡可能使服務(wù)器的已建立連接數(shù)和其權(quán)值成比例。調(diào)度器可以自動問詢真實服務(wù)器的負(fù)載情況,并動態(tài)地調(diào)整其權(quán)值。

5.基于局部的最少連接

基于局部的最少連接調(diào)度(Locality-Based Least Connections 簡稱'LBLC')算法是針對請求報文的目標(biāo)IP地址的 負(fù)載均衡調(diào)度,目前主要用于Cache集群系統(tǒng),因為在Cache集群客戶請求報文的目標(biāo)IP地址是變化的。這里假設(shè)任何后端服務(wù)器都可以處理任一請求,算法的設(shè)計目標(biāo)是在服務(wù)器的負(fù)載基本平衡情況下,將相同目標(biāo)IP地址的請求調(diào)度到同一臺服務(wù)器,來提高各臺服務(wù)器的訪問局部性和Cache命中率,從而提升整個集群系統(tǒng)的處理能力。LBLC調(diào)度算法先根據(jù)請求的目標(biāo)IP地址找出該目標(biāo)IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于一半的工作負(fù)載,則使用'最少連接'的原則選出一個可用的服務(wù)器,將請求發(fā)送到服務(wù)器。

6.帶復(fù)制的基于局部性的最少連接

帶復(fù)制的基于局部性的最少連接(Locality-Based Least Connections with Replication 簡稱'LBLCR')算法也是針對目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng),它與LBLC算法不同之處是它要維護(hù)從一個目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法維護(hù)從一個目標(biāo)IP地址到一臺服務(wù)器的映射。按'最小連接'原則從該服務(wù)器組中選出一一臺服務(wù)器,若服務(wù)器沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器超載,則按'最小連接'原則從整個集群中選出一臺服務(wù)器,將該服務(wù)器加入到這個服務(wù)器組中,將請求發(fā)送到該服務(wù)器。同時,當(dāng)該服務(wù)器組有一段時間沒有被修改,將最忙的服務(wù)器從服務(wù)器組中刪除,以降低復(fù)制的程度。

7.目標(biāo)地址散列調(diào)度

目標(biāo)地址散列調(diào)度(Destination Hashing 簡稱'DH')算法先根據(jù)請求的目標(biāo)IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,若該服務(wù)器是可用的且并未超載,將請求發(fā)送到該服務(wù)器,否則返回空。

8.源地址散列調(diào)度U

源地址散列調(diào)度(Source Hashing 簡稱'SH')算法先根據(jù)請求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,若該服務(wù)器是可用的且并未超載,將請求發(fā)送到該服務(wù)器,否則返回空。它采用的散列函數(shù)與目標(biāo)地址散列調(diào)度算法的相同,它的算法流程與目標(biāo)地址散列調(diào)度算法的基本相似。

9.最短的期望的延遲

最短的期望的延遲調(diào)度(Shortest Expected Delay 簡稱'SED')算法基于WLC算法。舉個例子吧,ABC三臺服務(wù)器的權(quán)重分別為1、2、3 。那么如果使用WLC算法的話一個新請求進(jìn)入時它可能會分給ABC中的任意一個。使用SED算法后會進(jìn)行一個運(yùn)算

A:(1+1)/1=2 B:(1+2)/2=3/2 C:(1+3)/3=4/3 就把請求交給得出運(yùn)算結(jié)果最小的服務(wù)器。

10.最少隊列調(diào)度

最少隊列調(diào)度(Never Queue 簡稱'NQ')算法,無需隊列。如果有realserver的連接數(shù)等于0就直接分配過去,不需要在進(jìn)行SED運(yùn)算。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2014-07-30 17:10:38

LVS集群負(fù)載均衡

2010-04-22 14:32:56

LVS負(fù)載均衡集群

2010-04-27 12:42:45

LVS負(fù)載均衡

2018-11-07 10:28:38

LVS 負(fù)載均衡 IP

2010-04-22 14:59:15

lvs負(fù)載均衡

2010-04-22 11:19:11

LVS負(fù)載均衡

2010-04-27 13:12:04

負(fù)載均衡算法

2010-04-22 11:47:58

集群負(fù)載均衡

2010-04-20 12:00:01

負(fù)載均衡技術(shù)

2023-05-15 15:29:13

設(shè)計模式JavaScript

2012-05-07 10:20:12

LVS集群

2018-09-25 23:21:13

2015-03-18 14:56:58

負(fù)載均衡服務(wù)器集群

2010-04-22 10:59:45

Lvs負(fù)載均衡

2010-04-27 10:19:45

lvs負(fù)載均衡

2023-10-13 18:57:22

2011-12-02 22:51:46

Nginx負(fù)載均衡

2010-04-22 10:46:40

Lvs負(fù)載均衡故障負(fù)載均衡器

2023-11-28 15:32:30

負(fù)載均衡算法

2023-09-06 13:58:01

負(fù)載均衡算法
點贊
收藏

51CTO技術(shù)棧公眾號