負(fù)載均衡(LB)簡(jiǎn)略介紹
點(diǎn)擊關(guān)注,與你共同成長(zhǎng)!

負(fù)載均衡(LB)簡(jiǎn)略介紹
1、負(fù)載均衡相關(guān)概念
負(fù)載均衡(Load Balance)是集群技術(shù)(Cluster)的一種應(yīng)用。
指將負(fù)載(工作任務(wù))進(jìn)行平衡、分?jǐn)偟蕉鄠€(gè)單元操作上進(jìn)行運(yùn)行,從而提高并發(fā)處理能力。
作用
[1] 解決并發(fā)壓力,提高應(yīng)用處理性能(增加吞吐量,加強(qiáng)網(wǎng)絡(luò)處理能力) [2] 提供故障轉(zhuǎn)移,實(shí)現(xiàn)高可用。[3] 通過添加或者減少服務(wù)器數(shù)量,提供網(wǎng)站伸縮性(擴(kuò)展性)。[4] 安全防護(hù)
優(yōu)勢(shì)
高性能:負(fù)載均衡技術(shù)將業(yè)務(wù)較均衡的分擔(dān)到多臺(tái)設(shè)備或鏈路上,從而提高了整個(gè)系統(tǒng)的性能;
可擴(kuò)展性:負(fù)載均衡技術(shù)可以方便的增加集群中設(shè)備或鏈路的數(shù)量,在不降低業(yè)務(wù)質(zhì)量的前提下滿足不斷增長(zhǎng)的業(yè)務(wù)需求;
高可靠性:?jiǎn)蝹€(gè)甚至多個(gè)設(shè)備或鏈路法神故障也不會(huì)導(dǎo)致業(yè)務(wù)中斷,提高了整個(gè)系統(tǒng)的可靠性;
可管理性:大量的管理共組都集中在使用負(fù)載均衡技術(shù)的設(shè)備上,設(shè)備集群或鏈路集群只需要維護(hù)通過的配置即可;
透明性:對(duì)用戶而言,集群等于一個(gè)或多個(gè)高可靠性、高性能的設(shè)備或鏈路,用戶感知不到,也不關(guān)心具體的網(wǎng)絡(luò)結(jié)構(gòu),增加或減少設(shè)備或鏈路數(shù)量都不會(huì)影響正常的業(yè)務(wù)。
負(fù)載均衡技術(shù)分類:
服務(wù)器負(fù)載均衡:在數(shù)據(jù)中心等組網(wǎng)環(huán)境中,可以采用服務(wù)器負(fù)載均衡,將網(wǎng)絡(luò)服務(wù)分擔(dān)給多臺(tái)服務(wù)器進(jìn)行處理,提高數(shù)據(jù)中心的業(yè)務(wù)處理能力;
鏈路負(fù)載均衡:在有多個(gè)運(yùn)營(yíng)商出接口的組網(wǎng)環(huán)境中,可以采用出方向多鏈路動(dòng)態(tài)負(fù)載均衡,實(shí)現(xiàn)鏈路的動(dòng)態(tài)選擇,提高服務(wù)的可靠性;
防火墻負(fù)載均衡:在防火墻處理能力成為瓶頸的組網(wǎng)環(huán)境中,可以采用防火墻負(fù)載均衡,將網(wǎng)絡(luò)流量分擔(dān)給多臺(tái)防火墻設(shè)備,提高防火墻的處理能力;
根據(jù)ISO七層模型的負(fù)載均衡的分類
常見的實(shí)現(xiàn)方式中,主要可以在應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層做文章。所以,工作在應(yīng)用層的負(fù)載均衡,我們通常稱之為七層負(fù)載均衡、工作在傳輸層的我們稱之為四層負(fù)載均衡。
大致可以分為以下幾種,其中最常用的是四層和七層負(fù)載均衡:
二層負(fù)載均衡
負(fù)載均衡服務(wù)器對(duì)外依然提供一個(gè)VIP(虛IP),集群中不同的機(jī)器采用相同IP地址,但是機(jī)器的MAC地址不一樣。當(dāng)負(fù)載均衡服務(wù)器接受到請(qǐng)求之后,通過改寫報(bào)文的目標(biāo)MAC地址的方式將請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)機(jī)器實(shí)現(xiàn)負(fù)載均衡(lvs的DR模式)。
三層負(fù)載均衡
和二層負(fù)載均衡類似,負(fù)載均衡服務(wù)器對(duì)外依然提供一個(gè)VIP(虛IP),但是集群中不同的機(jī)器采用不同的IP地址。當(dāng)負(fù)載均衡服務(wù)器接受到請(qǐng)求之后,根據(jù)不同的負(fù)載均衡算法,通過IP將請(qǐng)求轉(zhuǎn)發(fā)至不同的真實(shí)服務(wù)器。
四層負(fù)載均衡
四層負(fù)載均衡工作在OSI模型的傳輸層,由于在傳輸層,只有TCP/UDP協(xié)議,這兩種協(xié)議中除了包含源IP、目標(biāo)IP以外,還包含源端口號(hào)及目的端口號(hào)。四層負(fù)載均衡服務(wù)器在接受到客戶端請(qǐng)求后,以后通過 修改數(shù)據(jù)包的地址信息(IP+端口號(hào)) 將流量轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器。
七層負(fù)載均衡
七層負(fù)載均衡工作在OSI模型的應(yīng)用層,應(yīng)用層協(xié)議較多,常用http、radius、dns等。七層負(fù)載就可以基于這些協(xié)議來負(fù)載。這些應(yīng)用層協(xié)議中會(huì)包含很多有意義的內(nèi)容。比如同一個(gè)Web服務(wù)器的負(fù)載均衡,除了根據(jù)IP加端口進(jìn)行負(fù)載外,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進(jìn)行負(fù)載均衡。
2、負(fù)載均衡工具
市面上有很多開源的負(fù)載均衡的工具或軟件,基本都是基于前面提到的方案實(shí)現(xiàn)的,大多數(shù)是工作在第七層和第四層的。Nginx/LVS/HAProxy是目前使用最廣泛的三種負(fù)載均衡軟件。
【1】LVS :LVS主要用來做四層負(fù)載均衡 LVS(Linux Virtual Server),也就是Linux虛擬服務(wù)器, 是一個(gè)由章文嵩博士發(fā)起的自由軟件項(xiàng)目。使用LVS技術(shù)要達(dá)到的目標(biāo)是:通過LVS提供的負(fù)載均衡技術(shù)和Linux操作系統(tǒng)實(shí)現(xiàn)一個(gè)高性能、高可用的服務(wù)器群集,它具有良好可靠性、可擴(kuò)展性和可操作性。從而以低廉的成本實(shí)現(xiàn)最優(yōu)的服務(wù)性能。
【2】Nginx :Nginx主要用來做七層負(fù)載均衡
【3】Nginx(發(fā)音同engine x)是一個(gè)網(wǎng)頁服務(wù)器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的協(xié)議鏈接,以及一個(gè)負(fù)載均衡器和一個(gè)HTTP緩存。。
【4】HAProxy :HAProxy主要用來做七層負(fù)載均衡 也可做四層的負(fù)載均衡。HAProxy是一個(gè)使用C語言編寫的自由及開放源代碼軟件,其提供高可用性、負(fù)載均衡,以及基于TCP和HTTP的應(yīng)用程序代理。
3、負(fù)載均衡算法
負(fù)載均衡產(chǎn)品中的關(guān)鍵技術(shù)是調(diào)度,目前常用的調(diào)度算法有
輪詢(Round Robin) 加權(quán)輪詢(Weight Round Robin) 最少連接(Least Connection) 加權(quán)最少連接( Weight Least Connection) 隨機(jī)(Random) 加權(quán)隨機(jī)(Weight# ?Random) 原地址散列( Source Hashing) 原地址端口散列( Source&Prot Hashing)
【1】靜態(tài)負(fù)載均衡算法包括:輪詢,比率,優(yōu)先權(quán)
輪詢(Round Robin):順序循環(huán)將請(qǐng)求一次順序循環(huán)地連接每個(gè)服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第二到第7 層的故障,BIG-IP就把其從順序循環(huán)隊(duì)列中拿出,不參加下一次的輪詢,直到其恢復(fù)正常。
比率(Ratio):給每個(gè)服務(wù)器分配一個(gè)加權(quán)值為比例,根椐這個(gè)比例,把用戶的請(qǐng)求分配到每個(gè)服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第二到第7 層的故障,BIG-IP 就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請(qǐng)求的分配, 直到其恢復(fù)正常。
優(yōu)先權(quán)(Priority):給所有服務(wù)器分組,給每個(gè)組定義優(yōu)先權(quán),BIG-IP 用戶的請(qǐng)求,分配給優(yōu)先級(jí)最高的服務(wù)器組(在同一組內(nèi),采用輪詢或比率算法,分配用戶的請(qǐng)求);當(dāng)最高優(yōu)先級(jí)中所有服務(wù)器出現(xiàn)故障,BIG-IP才將請(qǐng)求送給次優(yōu)先級(jí)的服務(wù)器組。這種方式,實(shí)際為用戶提供一種熱備份的方式。
【2】動(dòng)態(tài)負(fù)載均衡算法
包括: 最少連接數(shù),最快響應(yīng)速度,觀察方法,預(yù)測(cè)法,動(dòng)態(tài)性能分配,動(dòng)態(tài)服務(wù)器補(bǔ)充,服務(wù)質(zhì)量,服務(wù)類型,規(guī)則模式。
最少的連接方式(Least Connection):傳遞新的連接給那些進(jìn)行最少連接處理的服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第二到第7層的故障,BIG-IP 就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請(qǐng)求的分配, 直到其恢復(fù)正常。 最快模式(Fastest):傳遞連接給那些響應(yīng)最快的服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第二到第7 層的故障,BIG-IP 就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請(qǐng)求的分配,直到其恢復(fù)正常。 觀察模式(Observed):連接數(shù)目和響應(yīng)時(shí)間以這兩項(xiàng)的最佳平衡為依據(jù)為新的請(qǐng)求選擇服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第二到第7層的故障,BIG-IP就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請(qǐng)求的分配,直到其恢復(fù)正常。 預(yù)測(cè)模式(Predictive):BIG-IP利用收集到的服務(wù)器當(dāng)前的性能指標(biāo),進(jìn)行預(yù)測(cè)分析,選擇一臺(tái)服務(wù)器在下一個(gè)時(shí)間片內(nèi),其性能將達(dá)到最佳的服務(wù)器相應(yīng)用戶的請(qǐng)求。(被BIG-IP進(jìn)行檢測(cè)) 動(dòng)態(tài)性能分配(Dynamic Ratio-APM):BIG-IP 收集到的應(yīng)用程序和應(yīng)用服務(wù)器的各項(xiàng)性能參數(shù),動(dòng)態(tài)調(diào)整流量分配。 動(dòng)態(tài)服務(wù)器補(bǔ)充(Dynamic Server Act.):當(dāng)主服務(wù)器群中因故障導(dǎo)致數(shù)量減少時(shí),動(dòng)態(tài)地將備份服務(wù)器補(bǔ)充至主服務(wù)器群。 服務(wù)質(zhì)量(QoS):按不同的優(yōu)先級(jí)對(duì)數(shù)據(jù)流進(jìn)行分配。 服務(wù)類型(ToS):按不同的服務(wù)類型(在Type of Field中標(biāo)識(shí))負(fù)載均衡對(duì)數(shù)據(jù)流進(jìn)行分配。 規(guī)則模式:針對(duì)不同的數(shù)據(jù)流設(shè)置導(dǎo)向規(guī)則,用戶可自行規(guī)定。

FFMPEG函數(shù)分析av_read_frame()
以上,便是今天的分享,希望大家喜歡,覺得內(nèi)容不錯(cuò)的,歡迎「分享」「贊」或者點(diǎn)擊「在看」支持,謝謝各位。
