溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》
  • 首頁 > 
  • 教程 > 
  • 服務(wù)器 > 
  • 服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

發(fā)布時(shí)間:2020-10-12 18:43:09 來源:腳本之家 閱讀:199 作者:mdxy-dxy 欄目:服務(wù)器

什么是負(fù)載均衡

負(fù)載均衡是由多臺服務(wù)器以對稱的方式組成一個(gè)服務(wù)器集合,每臺服務(wù)器都具有等價(jià)的地位,都可以單獨(dú)對外供應(yīng)效力而無須其他服務(wù)器的輔助。經(jīng)過某種負(fù)載分管技術(shù),將外部發(fā)送來的央求均勻分配到對稱結(jié)構(gòu)中的某一臺服務(wù)器上,而接收到央求的服務(wù)器獨(dú)登時(shí)回應(yīng)客戶的央求。均衡負(fù)載可以平均分配客戶央求到服務(wù)器列陣,籍此供應(yīng)快速獲取重要數(shù)據(jù),解決很多并發(fā)訪問效力問題。這種群集技術(shù)可以用最少的出資取得接近于大型主機(jī)的性能。

負(fù)載均衡的類型

根據(jù)DNS的負(fù)載均衡

經(jīng)過DNS效力中的隨機(jī)姓名解析來完結(jié)負(fù)載均衡,在DNS服務(wù)器中,可認(rèn)為多個(gè)不同的地址配置同一個(gè)姓名,而最終查詢這個(gè)姓名的客戶機(jī)將在解析這個(gè)姓名時(shí)得到其中一個(gè)地址。因此,關(guān)于同一個(gè)姓名,不同的客戶時(shí)機(jī)得到不同的地址,他們也就訪問不同地址上的Web服務(wù)器,然后達(dá)到負(fù)載均衡的目的。

反向署理負(fù)載均衡

運(yùn)用署理服務(wù)器可以將央求轉(zhuǎn)發(fā)給內(nèi)部的Web服務(wù)器,讓署理服務(wù)器將央求均勻地轉(zhuǎn)發(fā)給多臺內(nèi)部Web服務(wù)器之一上,然后達(dá)到負(fù)載均衡的目的。這種署理方式與一般的署理方式有所不同,標(biāo)準(zhǔn)署理方式是客戶運(yùn)用署理訪問多個(gè)外部Web服務(wù)器,而這種署理方式是多個(gè)客戶運(yùn)用它訪問內(nèi)部Web服務(wù)器,因此也被稱為反向署理模式。Apusic負(fù)載均衡器就歸于這種類型的。

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

根據(jù)NAT的負(fù)載均衡技術(shù)

網(wǎng)絡(luò)地址變換為在內(nèi)部地址和外部地址之間進(jìn)行變換,以便具備內(nèi)部地址的計(jì)算機(jī)能訪問外部網(wǎng)絡(luò),而當(dāng)外部網(wǎng)絡(luò)中的計(jì)算機(jī)訪問地址變換網(wǎng)關(guān)擁有的某一外部地址時(shí),地址變換網(wǎng)關(guān)能將其轉(zhuǎn)發(fā)到一個(gè)映射的內(nèi)部地址上。因此如果地址變換網(wǎng)關(guān)能將每個(gè)銜接均勻變換為不同的內(nèi)部服務(wù)器地址,爾后外部網(wǎng)絡(luò)中的計(jì)算機(jī)就各自與自己變換得到的地址上服務(wù)器進(jìn)行通訊,然后達(dá)到負(fù)載分管的目的。

負(fù)載均衡服務(wù)器的好處

由于網(wǎng)民數(shù)量激增,網(wǎng)絡(luò)訪問路徑過長,用戶的訪問質(zhì)量簡略遭到嚴(yán)重影響,尤其是當(dāng)用戶與網(wǎng)站之間的鏈路被出人意料的流量擁塞時(shí)。而這種情況經(jīng)常發(fā)生在異地互聯(lián)網(wǎng)用戶急速增加的運(yùn)用上。這時(shí)候,如果在效力端運(yùn)用負(fù)載均衡(GSLB)技術(shù),就可以合理分管系統(tǒng)負(fù)載、提高系統(tǒng)可靠性、支持網(wǎng)站內(nèi)容的虛擬化。在實(shí)際運(yùn)用中,許多IDC,如互聯(lián)通更是選用GSLB與Cache、Mirror相結(jié)合的方法來供應(yīng)網(wǎng)絡(luò)加速效力。負(fù)載均衡效力具有如下特點(diǎn):

高智能化

運(yùn)用虛擬IP(VIP)地址代表方針服務(wù)器和運(yùn)用,將會話分配到最高可用性的服務(wù)器,全程監(jiān)控每個(gè)會話,效力恢復(fù)后自動重新掛號,并轉(zhuǎn)發(fā)客戶機(jī)和服務(wù)器信息包時(shí)供應(yīng)全地址變換。簡略有用的負(fù)載均衡算法可以配置包括循環(huán)法、最少銜接法、散列法或最少失誤法等多種不同的負(fù)載均衡方法,也可以對個(gè)別服務(wù)器配置最大銜接數(shù)量閾值和加權(quán)值,以防止服務(wù)器超載。

高可靠性

架構(gòu)在專用的高速骨干網(wǎng)之上,該骨干網(wǎng)絡(luò)供應(yīng)延遲極小的網(wǎng)絡(luò)連通性,然后保障GSLB的功能正常發(fā)揮和高性能,遠(yuǎn)遠(yuǎn)優(yōu)于根據(jù)公網(wǎng)的GSLB。并且,當(dāng)主站點(diǎn)機(jī)房的Internet 出口呈現(xiàn)毛病時(shí),還能將用戶自動、透明地從其他分站點(diǎn)Internet入口導(dǎo)向主站點(diǎn)服務(wù)器。

高可用性

選用熱備份方法,在極短時(shí)間內(nèi)對服務(wù)器鏈路、交換端口和交換機(jī)進(jìn)行檢測和毛病轉(zhuǎn)移,使運(yùn)用免受毛病影響;任何一個(gè)服務(wù)器服務(wù)器群發(fā)生毛病或阻塞,用戶將被自動引導(dǎo)到下一個(gè)最佳備份服務(wù)器或站點(diǎn),然后更進(jìn)一步提高了效力和內(nèi)容的可用性。

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

網(wǎng)絡(luò)的負(fù)載均衡是一種動態(tài)均衡技術(shù),經(jīng)過一些東西實(shí)時(shí)地分析數(shù)據(jù)包,掌握網(wǎng)絡(luò)中的數(shù)據(jù)流量狀況,把任務(wù)合理均衡地分配出去。

計(jì)算集中型的運(yùn)用,比如電子商務(wù)網(wǎng)站,服務(wù)器計(jì)算負(fù)荷會很大;讀寫頻繁的運(yùn)用,比如網(wǎng)絡(luò)數(shù)據(jù)庫,存儲系統(tǒng)則面臨著檢測;傳輸量大的運(yùn)用,比如視頻效力,數(shù)據(jù)總是無法快速傳送,無法完結(jié)最好的效果;訪問量大的運(yùn)用,路由器與防火墻簡略成為瓶頸。想要合理解決這些問題,晉級設(shè)備、改動拓?fù)涫恰北哭k法”,相對巧妙的方法是選用負(fù)載均衡技術(shù),用多個(gè)設(shè)備一起完結(jié)任務(wù)。

負(fù)載均衡技術(shù)根據(jù)現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu),供應(yīng)了一種擴(kuò)展服務(wù)器帶寬和增加服務(wù)器吞吐量的廉價(jià)有用的方法,加強(qiáng)了網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高了網(wǎng)絡(luò)的靈活性和可用性。負(fù)載均衡的運(yùn)用,可以有用地解決網(wǎng)絡(luò)擁塞問題,可以就近供應(yīng)效力,完結(jié)地理位置無關(guān)性(異地負(fù)載均衡)。同時(shí),這項(xiàng)技術(shù)還能提高服務(wù)器的響應(yīng)速度,提高服務(wù)器及其他資源的利用效率,防止網(wǎng)絡(luò)關(guān)鍵部位呈現(xiàn)單點(diǎn)失效,然后為用戶供應(yīng)更好的訪問質(zhì)量。

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

本文介紹了負(fù)載均衡的基本功能和實(shí)現(xiàn)原理,看起來并不難,但負(fù)載均衡涉及的知識其實(shí)非常的廣泛,根據(jù)各個(gè)用戶系統(tǒng)的不同,我們要熟悉不同的協(xié)議和應(yīng)用流程,甚至涉及到某些開發(fā)語言和軟件平臺,否則在出現(xiàn)故障的時(shí)候,我們可能沒有能力做出有效的判斷,從這個(gè)意義上來說,一個(gè)負(fù)載均衡設(shè)備的工程師要掌握網(wǎng)絡(luò),應(yīng)用和系統(tǒng)等各方面的知識,這些都要當(dāng)作基礎(chǔ)來積累。

負(fù)載均衡設(shè)備作為縱跨網(wǎng)絡(luò)2-7層協(xié)議的設(shè)備,往往放置在網(wǎng)絡(luò)設(shè)備和應(yīng)用設(shè)備的連接處,對工程師在網(wǎng)絡(luò)和應(yīng)用基本知識方面的要求遠(yuǎn)高于其他設(shè)備,所以我們要在基本功能的理解上下更多的功夫。負(fù)載均衡設(shè)備還有另外一個(gè)稱呼:4/7層交換機(jī),但它首先是個(gè)2-3層交換機(jī),這要求我們首先掌握2-3層的基本知識,然后才是本文介紹的內(nèi)容。

服務(wù)器負(fù)載均衡有三大基本Feature:負(fù)載均衡算法,健康檢查和會話保持,這三個(gè)Feature是保證負(fù)載均衡正常工作的基本要素。其他一些功能都是在這三個(gè)功能之上的一些深化。下面我們具體介紹一下各個(gè)功能的作用和原理。

在沒有部署負(fù)載均衡設(shè)備之前,用戶直接訪問服務(wù)器地址(中間或許有在防火墻上將服務(wù)器地址映射成別的地址,但本質(zhì)上還是一對一的訪問)。當(dāng)單臺服務(wù)器由于性能不足無法處理眾多用戶的訪問時(shí),就要考慮用多臺服務(wù)器來提供服務(wù),實(shí)現(xiàn)的方式就是負(fù)載均衡。負(fù)載均衡設(shè)備的實(shí)現(xiàn)原理是把多臺服務(wù)器的地址映射成一個(gè)對外的服務(wù)IP(我們通常稱之為VIP,關(guān)于服務(wù)器的映射可以直接將服務(wù)器IP映射成VIP地址,也可以將服務(wù)器IP:Port映射成VIP:Port,不同的映射方式會采取相應(yīng)的健康檢查,在端口映射時(shí),服務(wù)器端口與VIP端口可以不相同),這個(gè)過程對用戶端是透明的,用戶實(shí)際上不知道服務(wù)器是做了負(fù)載均衡的,因?yàn)樗麄冊L問的還是一個(gè)目的IP,那么用戶的訪問到達(dá)負(fù)載均衡設(shè)備后,如何把用戶的訪問分發(fā)到合適的服務(wù)器就是負(fù)載均衡設(shè)備要做的工作了,具體來說用到的就是上述的三大Feature。

我們來做一個(gè)詳細(xì)的訪問流程分析:

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

用戶(IP:207.17.117.20)訪問域名www.a10networks.com,首先會通過DNS查詢解析出這個(gè)域名的公網(wǎng)地址:199.237.202.124,接下來用戶207.17.117.20會訪問199.237.202.124這個(gè)地址,因此數(shù)據(jù)包會到達(dá)負(fù)載均衡設(shè)備,接下來負(fù)載均衡設(shè)備會把數(shù)據(jù)包分發(fā)到合適的服務(wù)器,看下圖:

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

負(fù)載均衡設(shè)備在將數(shù)據(jù)包發(fā)給服務(wù)器時(shí),數(shù)據(jù)包是做了一些變化的,如上圖所示,數(shù)據(jù)包到達(dá)負(fù)載均衡設(shè)備之前,源地址是:207.17.117.20,目的地址是:199.237.202.124, 當(dāng)負(fù)載均衡設(shè)備將數(shù)據(jù)包轉(zhuǎn)發(fā)給選中的服務(wù)器時(shí),源地址還是:207.17.117.20,目的地址變?yōu)?72.16.20.1,我們稱這種方式為目的地址NAT(DNAT)。一般來說,在服務(wù)器負(fù)載均衡中DNAT是一定要做的(還有另一種模式叫做服務(wù)器直接返回-DSR,是不做DNAT的,我們將另行討論),而源地址根據(jù)部署模式的不同,有時(shí)候也需要轉(zhuǎn)換成別的地址,我們稱之為:源地址NAT(SNAT),一般來說,旁路模式需要做SNAT,而串接模式不需要,本示意圖為串接模式,所以源地址沒做NAT。

我們再看服務(wù)器的返回包,如下圖所示,也經(jīng)過了IP地址的轉(zhuǎn)換過程,不過應(yīng)答包中源/目的地址與請求包正好對調(diào),從服務(wù)器回來的包源地址為172.16.20.1,目的地址為207.17.117.20,到達(dá)負(fù)載均衡設(shè)備后,負(fù)載均衡設(shè)備將源地址改為199.237.202.124,然后轉(zhuǎn)發(fā)給用戶,保證了訪問的一致性。

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

以上是單個(gè)數(shù)據(jù)包的處理流程。那么負(fù)載均衡設(shè)備是怎么選擇服務(wù)器的呢? 這就是我們要介紹的第一個(gè)Feature:

負(fù)載均衡算法

一般來說負(fù)載均衡設(shè)備都會默認(rèn)支持多種負(fù)載均衡分發(fā)策略,例如:

Ø 輪詢(RoundRobin)將請求順序循環(huán)地發(fā)到每個(gè)服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生故障,AX就把其從順序循環(huán)隊(duì)列中拿出,不參加下一次的輪詢,直到其恢復(fù)正常。

Ø 比率(Ratio):給每個(gè)服務(wù)器分配一個(gè)加權(quán)值為比例,根椐這個(gè)比例,把用戶的請求分配到每個(gè)服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生故障,AX就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請求的分配,直到其恢復(fù)正常。

Ø 優(yōu)先權(quán)(Priority):給所有服務(wù)器分組,給每個(gè)組定義優(yōu)先權(quán),將用戶的請求分配給優(yōu)先級最高的服務(wù)器組(在同一組內(nèi),采用預(yù)先設(shè)定的輪詢或比率算法,分配用戶的請求);當(dāng)最高優(yōu)先級中所有服務(wù)器或者指定數(shù)量的服務(wù)器出現(xiàn)故障,AX將把請求送給次優(yōu)先級的服務(wù)器組。這種方式,實(shí)際為用戶提供一種熱備份的方式。

Ø 最少連接數(shù)(LeastConnection):AX會記錄當(dāng)前每臺服務(wù)器或者服務(wù)端口上的連接數(shù),新的連接將傳遞給連接數(shù)最少的服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生故障,AX就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請求的分配,直到其恢復(fù)正常。

Ø 最快響應(yīng)時(shí)間(Fast Reponse time):新的連接傳遞給那些響應(yīng)最快的服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生故障,AX就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請求的分配,直到其恢復(fù)正常。

以上為通用的負(fù)載均衡算法,還有一些算法根據(jù)不同的需求也可能會用到,例如:

Ø 哈希算法( hash): 將客戶端的源地址,端口進(jìn)行哈希運(yùn)算,根據(jù)運(yùn)算的結(jié)果轉(zhuǎn)發(fā)給一臺服務(wù)器進(jìn)行處理,當(dāng)其中某個(gè)服務(wù)器發(fā)生故障,就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請求的分配,直到其恢復(fù)正常。

Ø 基于策略的負(fù)載均衡:針對不同的數(shù)據(jù)流設(shè)置導(dǎo)向規(guī)則,用戶可自行編輯流量分配策略,利用這些策略對通過的數(shù)據(jù)流實(shí)施導(dǎo)向控制。

Ø 基于數(shù)據(jù)包的內(nèi)容分發(fā):例如判斷HTTP的URL,如果URL中帶有.jpg的擴(kuò)展名,就把數(shù)據(jù)包轉(zhuǎn)發(fā)到指定的服務(wù)器。

繼續(xù)看圖分析,第二個(gè)用戶207.17.117.21也訪問www.a10networks.com,負(fù)載均衡設(shè)備根據(jù)負(fù)載均衡算法將第二個(gè)用戶的請求轉(zhuǎn)發(fā)到第二臺服務(wù)器來處理。

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

假設(shè)在工作過程中,突然有一臺服務(wù)器出現(xiàn)問題怎么辦? 這就涉及到我們要介紹的第二個(gè)Feature:

健康檢查

健康檢查用于檢查服務(wù)器開放的各種服務(wù)的可用狀態(tài)。負(fù)載均衡設(shè)備一般會配置各種健康檢查方法,例如Ping,TCP,UDP,HTTP,F(xiàn)TP,DNS等。Ping屬于第三層的健康檢查,用于檢查服務(wù)器IP的連通性,而TCP/UDP屬于第四層的健康檢查,用于檢查服務(wù)端口的UP/DOWN,如果要檢查的更準(zhǔn)確,就要用到基于7層的健康檢查,例如創(chuàng)建一個(gè)HTTP健康檢查,Get一個(gè)頁面回來,并且檢查頁面內(nèi)容是否包含一個(gè)指定的字符串,如果包含,則服務(wù)是UP的,如果不包含或者取不回頁面,就認(rèn)為該服務(wù)器的Web服務(wù)是不可用(DOWN)的。如下圖所示,負(fù)載均衡設(shè)備檢查到172.16.20.3這臺服務(wù)器的80端口是DOWN的,負(fù)載均衡設(shè)備將不把后面的連接轉(zhuǎn)發(fā)到這臺服務(wù)器,而是根據(jù)算法將數(shù)據(jù)包轉(zhuǎn)發(fā)到別的服務(wù)器。創(chuàng)建健康檢查時(shí)可以設(shè)定檢查的間隔時(shí)間和嘗試次數(shù),例如設(shè)定間隔時(shí)間為5秒,嘗試次數(shù)為3,那么負(fù)載均衡設(shè)備每隔5秒發(fā)起一次健康檢查,如果檢查失敗,則嘗試3次,如果3次都檢查失敗,則把該服務(wù)標(biāo)記為DOWN,然后服務(wù)器仍然會每隔5秒對DOWN的服務(wù)器進(jìn)行檢查,當(dāng)某個(gè)時(shí)刻發(fā)現(xiàn)該服務(wù)器健康檢查又成功了,則把該服務(wù)器重新標(biāo)記為UP。健康檢查的間隔時(shí)間和嘗試次數(shù)要根據(jù)綜合情況來設(shè)置,原則是既不會對業(yè)務(wù)產(chǎn)生影響,又不會對負(fù)載均衡設(shè)備造成較大負(fù)擔(dān)。

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

假設(shè)是同一個(gè)用戶繼續(xù)訪問,后續(xù)的連接會怎么處理呢? 看下圖:

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

服務(wù)器負(fù)載均衡是什么意思(服務(wù)器負(fù)載均衡的基本功能和實(shí)現(xiàn)原理)

用戶207.17.117.25之前發(fā)起的第一個(gè)連接是207.17.117.25:4003-〉199.237.202.127:80,負(fù)載均衡設(shè)備將該連接轉(zhuǎn)發(fā)到了172.16.20.4,接著發(fā)起第二個(gè)連接207.17.117.25:4004-〉199.237.202.127:80,我們看到該連接還是轉(zhuǎn)發(fā)到了服務(wù)器172.16.20.4,為什么呢?因?yàn)樨?fù)載均衡設(shè)備配置了會話保持。

會話保持

會話保持用于保持會話的連續(xù)性和一致性,由于服務(wù)器之間很難做到實(shí)時(shí)同步用戶訪問信息,這就要求把用戶的前后訪問會話保持到一臺服務(wù)器上來處理。舉個(gè)例子,用戶訪問一個(gè)電子商務(wù)網(wǎng)站,如果用戶登錄時(shí)是由第一臺服務(wù)器來處理的,但用戶購買商品的動作卻由第二臺服務(wù)器來處理,第二臺服務(wù)器由于不知道用戶信息,所以本次購買就不會成功。這種情況就需要會話保持,把用戶的操作都通過第一臺服務(wù)器來處理才能成功。當(dāng)然并不是所有的訪問都需要會話保持,例如服務(wù)器提供的是靜態(tài)頁面比如網(wǎng)站的新聞頻道,各臺服務(wù)器都有相同的內(nèi)容,這種訪問就不需要會話保持。

負(fù)載均衡設(shè)備一般會默認(rèn)配置一些會話保持的選項(xiàng),例如源地址的會話保持,Cookie會話保持等,基于不同的應(yīng)用要配置不同的會話保持,否則會引起負(fù)載的不均衡甚至訪問異常。具體可參考本人的另一篇拙作:《不同應(yīng)用環(huán)境下會話保持方式的選擇》。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI