{eval=Array;=+count(Array);}
當單個節(jié)點的服務(wù),無法支持當前的大量請求時,我們會部署多個節(jié)點,即所謂的集群,此時要使每個節(jié)點收到的請求均勻的算法,這個策略就是所謂的負載均衡了。
常見的負載均衡算法,有權(quán)重隨機、Hash、輪詢。
1.權(quán)重隨機
這個是最簡單,也是最常用的負載均衡算法,即每個請求過來,會隨機到任何一個服務(wù)節(jié)點上,主流的rpc框架Dubbo,默認使用基于權(quán)重隨機算法。
2.Hash
可以將客服端即請求端的ip,通過hash計算,得到一個數(shù)值,再取服務(wù)節(jié)點數(shù)的模,分配到對應(yīng)的服務(wù)節(jié)點上。
3.輪詢
將請求按照順序,依次分配到節(jié)點1、節(jié)點2、節(jié)點3等節(jié)點上,如此循環(huán)往復。
想想如果沒有負載均衡算法,我們的請求有可能都打到同一節(jié)點上,有可能將這個節(jié)點給打死,而其他節(jié)點的機器閑置著沒有提供服務(wù),浪費資源。所以這就是負載均衡算法存在的意義了,可以將請求合理分發(fā)到各個節(jié)點,實現(xiàn)真正意義上多個節(jié)點提供服務(wù)的效果。
我舉個簡單的例子。
大家都逛過超市。小超市一般就一個收銀臺,而大超市一般有好幾個收銀臺。為什么?因為大超市的人流量大啊。如果大超市只有一個收銀臺,那可能買個東西得好幾個小時,那還不如去小超市
有了多個收銀臺,那就需要確保每個收銀臺的人基本都是差不多的。如果大家還是擠到一個收銀臺去結(jié)賬,那其它收銀臺開了還有什么意義?
每個收銀臺平均時間內(nèi)處理客戶的數(shù)量就是負載。
每個收銀臺的負載基本相當,就是負載均衡。
確保每個收銀臺的負載基本相當?shù)乃惴ǎ褪?span style="font-weight: bold;">負載均衡算法。
也就是大家選擇哪個收銀臺的方法,就是負載均衡算法。
假設(shè)大家比較佛性,逛到哪個收銀臺就到哪個收銀臺結(jié)賬,那這就是隨機算法。
負載均衡通俗的說就是將業(yè)務(wù)流量平均分攤到多條不同鏈路上。
按照數(shù)據(jù)包來進行均衡,前一個數(shù)據(jù)包從第一條鏈路走,下一個數(shù)據(jù)包走第二條鏈路,這樣往下輪流分配;
按照源地址或目的地址方式均衡,將相同的源或目的地走一條鏈路的方式;
其它標記的方式進行均衡;
物理鏈路疊加方式;
邏輯鏈路疊加方式;
路由協(xié)議方式;
為何要做負載均衡?
單條鏈路或者服務(wù)器性能不夠,需要分攤;
我是猿說,專注于科技與互聯(lián)網(wǎng)內(nèi)容。
負載均衡的專業(yè)解釋如下:
負載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效透明的方法擴展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。負載均衡(Load Balance)其意思就是分攤到多個操作單元上進行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。
這樣說確實不好懂,咱們換個說法:
在去往A城市的高速公路收費站,很多車想要通行,但是每輛車都需要一定的收費時間,那么在只有一個收費口的時候,勢必會造成堵塞,后面的車輛需要等待的時間會越長,久而久之,車主就很不耐煩。
我們可以把
去往A城市的高速路比喻為生產(chǎn)環(huán)境服務(wù)器
收費口比喻為操作單元(web服務(wù)等)
車輛車主比喻為互聯(lián)網(wǎng)用戶
所以負載均衡就是為了解決這個問題,一般的方法即為:開辟更多的收費口(即:分攤到多個操作單元)
說到這個順便也談?wù)劮植际脚c負載均衡的簡單比較,同樣是上面的說法,分布式不同的是,它建立了多個地方去往A城市的高速路(即:多個地方的同步生產(chǎn)環(huán)境服務(wù)器),其他的操作形式與負載均衡一致。
文章為字節(jié)跳動作者 猿說 悟空問答原創(chuàng)專稿,未經(jīng)允許轉(zhuǎn)載、抄襲必究!我是一名互聯(lián)網(wǎng)技術(shù)從業(yè)者、也是一位互聯(lián)網(wǎng)觀察者,原創(chuàng)文章以不同視角觀察為主,不追逐熱點,只觀察有價值的,歡迎大家關(guān)注我的賬號,我們一起探討互聯(lián)網(wǎng)與生活!
負載均衡產(chǎn)?生的背景
LB(Load Balance,負載均衡)是?一種集群技術(shù),它將特定的業(yè)務(wù)(?網(wǎng)絡(luò)服務(wù)、 ?網(wǎng)絡(luò)流量量等)分擔給多臺?網(wǎng)絡(luò)設(shè)備(包括服務(wù)器?、防?火墻等)或多條鏈路路,從?而 提?高了了業(yè)務(wù)處理理能?力力,保證了了業(yè)務(wù)的?高可靠性。
負載均衡技術(shù)具有?一下優(yōu)勢:
(1)?高性能:負載均衡技術(shù)將業(yè)務(wù)較均衡的分擔到多臺設(shè)備或鏈路路上,從?而提 ?高了了整個系統(tǒng)的性能;
(2)可擴展性:負載均衡技術(shù)可以?方便便的增加集群中設(shè)備或鏈路路的數(shù)量量,在不不 降低業(yè)務(wù)質(zhì)量量的前提下滿?足不不斷增?長的業(yè)務(wù)需求;
(3)?高可靠性:單個甚?至多個設(shè)備或鏈路路法神故障也不不會導致業(yè)務(wù)中斷,提?高 了了整個系統(tǒng)的可靠性;
(4)可管理理性:?大量量的管理理共組都集中在使?用負載均衡技術(shù)的設(shè)備上,設(shè)備集 群或鏈路路集群只需要維護通過的配置即可;
(5)透明性:對?用戶?而?言,集群等于?一個或多個?高可靠性、?高性能的設(shè)備或鏈 路路,?用戶感知不不到,也不不關(guān)?心具體的?網(wǎng)絡(luò)結(jié)構(gòu),增加或減少設(shè)備或鏈路路數(shù)量量都不不 會影響正常的業(yè)務(wù)。
負載均衡技術(shù)分類:
(1) 服務(wù)器?負載均衡:在數(shù)據(jù)中?心等組?網(wǎng)環(huán)境中,可以采?用服務(wù)器?負載 均衡,將?網(wǎng)絡(luò)服務(wù)分擔給多臺服務(wù)器?進?行行處理理,提?高數(shù)據(jù)中?心的業(yè)務(wù)處理理能?力力;
(2) 鏈路路負載均衡:在有多個運營商出接?口的組?網(wǎng)環(huán)境中,可以采?用出 ?方向多鏈路路動態(tài)負載均衡,實現(xiàn)鏈路路的動態(tài)選擇,提?高服務(wù)的可靠性;
(3) 防?火墻負載均衡:在防?火墻處理理能?力力成為瓶頸的組?網(wǎng)環(huán)境中,可以 采?用防?火墻負載均衡,將?網(wǎng)絡(luò)流量量分擔給多臺防?火墻設(shè)備,提?高防?火橋的處理理能 ?力力;
1.1 服務(wù)器?負載均衡 隨著Internet的快速發(fā)展和業(yè)務(wù)量量的不不斷提?高,基于?網(wǎng)絡(luò)的數(shù)據(jù)訪問流量量迅速增 ?長,特別是對數(shù)據(jù)中?心、?大型企業(yè)以及?門戶?網(wǎng)站等的訪問,其訪問流量量甚?至達到 了了10Gb/s的級別;同時,服務(wù)器??網(wǎng)站借助HTTP,F(xiàn)TP,SMTP等應(yīng)?用程序,為 訪問者提供了了越來越豐富的內(nèi)容和信息,服務(wù)器?逐漸被數(shù)據(jù)淹沒;另外,?大部分
?網(wǎng)站(尤其電?子商務(wù)等?網(wǎng)站)都需要提供不不間斷24?小時服務(wù),任何服務(wù)中斷或通 信中的關(guān)鍵數(shù)據(jù)丟失都會造成直接的商業(yè)損失。這些都對應(yīng)?用服務(wù)提出了了?高性能 和?高可靠性的需求。
但是,相對于?網(wǎng)絡(luò)技術(shù)的發(fā)展,服務(wù)器?處理理器?速度和內(nèi)存訪問速度的增?長卻遠遠
低于?網(wǎng)絡(luò)帶寬和應(yīng)?用服務(wù)的增?長,?網(wǎng)絡(luò)帶寬增?長的同時帶來的?用戶數(shù)量量的增?長,
也使得服務(wù)器?資源消耗嚴重,因?而服務(wù)器?成為了了?網(wǎng)絡(luò)瓶頸;傳統(tǒng)的單機模式,也
往往成為?網(wǎng)絡(luò)故障點。
1.1.1 服務(wù)器?負載均衡解決?方案 多臺服務(wù)器?通過?網(wǎng)絡(luò)設(shè)備相連組成?一個服務(wù)器?集群,每臺服務(wù)器?都提供相同或相 似的?網(wǎng)絡(luò)服務(wù)。服務(wù)器?集群前端部署?一臺負載均衡設(shè)備,負責根據(jù)已配置均衡策 略略將?用戶請求在服務(wù)器?集群中的分發(fā),為?用戶提供服務(wù),并對服務(wù)器?可?用性的維 護。
該?方案的優(yōu)勢:
(1)低成本:按照業(yè)務(wù)量量增加服務(wù)器?個數(shù)即可;已有資源不不會浪費,新增資源 ?無需選擇昂貴的?高端設(shè)備。
(2)可擴展性:當業(yè)務(wù)量量增?長時,系統(tǒng)可通過增加服務(wù)器?來滿?足需求,且不不影 響已有業(yè)務(wù),不不降低服務(wù)質(zhì)量量。
(3)?高可靠性:單臺服務(wù)器?故障時,由負載均衡設(shè)備將后續(xù)業(yè)務(wù)轉(zhuǎn)向其他服務(wù) 器?,不不影響后續(xù)業(yè)務(wù)提供,7 × 24?小時業(yè)務(wù)不不中斷。
1.2 鏈路路負載均衡 就互聯(lián)?網(wǎng)接?入來說,眾所周知,由于國內(nèi)的兩?大運營商---電信與?網(wǎng)通之間的瓶頸 問題,導致電信?網(wǎng)通?用戶互訪時出現(xiàn)延遲較,響應(yīng)緩慢,更更有甚者會直接導致?用 戶正常的業(yè)務(wù)?無法運?行行。?而且單條鏈路路存在單點故障的隱患,當互聯(lián)?網(wǎng)鏈路路 DOWD掉時,可能引起的直接問題就是?用戶所有依賴互聯(lián)?網(wǎng)的業(yè)務(wù)及對互聯(lián)?網(wǎng)的 訪問都會因此?而?無法使?用,這對于?一個?用戶來說是?無法想象的。
?目前在互聯(lián)?網(wǎng)接?入時存在的主要問題: (1)電信?網(wǎng)通瓶頸問題
(2)單條鏈路路存在單點故障 (3)主備鏈路路需要?人?工切換
1.2.1 鏈路路負載均衡解決?方案 通過接?入電信?網(wǎng)通兩條(或多條鏈路路)來保障?網(wǎng)絡(luò)的連通性,持續(xù)性以及快速訪 問。并提供各鏈路路間的智能備份,實現(xiàn)鏈路路級別的快速?高可?用。
1.2.1.1 outbound?方向鏈路路負載均衡(從內(nèi)到外的鏈路路負載均衡) 通過電信、?網(wǎng)通雙鏈路路的接?入,并使?用靜態(tài)和動態(tài)相結(jié)合的多鏈路路負載均衡功能, 使內(nèi)部?用戶?無論是訪問?網(wǎng)通資源還是電信資源,都可以從相應(yīng)的線路路進?行行訪問.解 決了了從內(nèi)到外的電信?網(wǎng)通的互訪瓶頸。
1.2.1.2 inbound?方向鏈路路負載均衡(從外到內(nèi)的鏈路路負載均衡) 解決外部?用戶訪問內(nèi)部服務(wù)器?時所遇到的不不同ISP的互訪瓶頸.當ISP A的?用戶訪問 內(nèi)部的www.abc.com時把ISP A接?口的地址解析給?用戶,使其通過ISP A線路路來訪問 www.abc.com. 當ISP B?用戶來訪問內(nèi)部的www.abc.com時,再把ISP B接?口的地址 解析給?用戶,使其通過ISP B的線路路來訪問www.abc.com.
1.2.1.3 多條鏈并?行行使?用以及智能備份 多鏈路路負載均衡還提供了了鏈路路的?自動探測及備份功能,當某條鏈路路斷掉時,?自動 將流量量切換到正常鏈路路上,同時對外提供的訪問,也將只解析正常鏈路路的地址, 使訪問?人員通過當前正常的鏈路路來訪問內(nèi)部的服務(wù)。從進出雙向來保障鏈路路的正 常?工作。
1.3 ?網(wǎng)關(guān)負載均衡 SSL-VPN?網(wǎng)關(guān),IPSec?網(wǎng)關(guān),防?火墻?網(wǎng)關(guān)等?網(wǎng)關(guān)設(shè)備,因為業(yè)務(wù)處理理的復雜性, 往往成為?網(wǎng)絡(luò)瓶頸,以防?火墻?網(wǎng)關(guān)為例例:防?火墻作為?網(wǎng)絡(luò)部署的“警衛(wèi)”,在?網(wǎng)絡(luò) 中不不可或缺,但其往往不不得不不?面臨這樣的尷尬:?網(wǎng)絡(luò)防衛(wèi)越嚴格,需要越仔細盤
查過往的報?文,從?而導致轉(zhuǎn)發(fā)性能越低,成為?網(wǎng)絡(luò)瓶頸。
在這種情況,如果廢棄現(xiàn)有設(shè)備去做?大量量的硬件升級,必將造成資源浪費,隨著
業(yè)務(wù)量量的不不斷提升,設(shè)備也將頻繁升級。頻繁升級的?高成本是相當可怕的。因此
將?網(wǎng)關(guān)設(shè)備等同于服務(wù)器?,組建?網(wǎng)關(guān)集群的?方案應(yīng)運?而?生:將多個?網(wǎng)關(guān)設(shè)備并聯(lián)
到?網(wǎng)絡(luò)中,從?而形成集群處理理能?力力,提?高?網(wǎng)絡(luò)處理理能?力力。
1.3.1 ?網(wǎng)關(guān)負載均衡解決?方案
防?火墻負載均衡包括以下?幾個基本元素:
(1) 集群:提供?網(wǎng)絡(luò)流量量負載均衡的群體,包括LB、Fireall;
(2) LB:負責分發(fā)請求發(fā)起?方的?網(wǎng)絡(luò)流量量到多臺Firewall設(shè)備,LB?又分為?一
級和?二級,如果請求發(fā)起?方的流量量?方向為Host A-a?Host B,則LB A為?一級,LB B 為?二級;?方向類似;
(3) Firewall:正常處理理數(shù)據(jù)的防?火墻。 2 負載均衡調(diào)度算法
負載均和產(chǎn)品中的關(guān)鍵技術(shù)是調(diào)度,?目前常?用的調(diào)度算法有 輪詢(Round Robin)
加權(quán)輪詢(Weighted Round Robin)
最少連接(Least Connections)
加權(quán)最少連接(Weighted Least Connections)
隨機(Random)
加權(quán)隨機(Weighted Random)
源地址散列列(Source Hashing)
源地址端?口散列列(Source&Port Hashing)
2.1 負載均衡算法介紹 (1)輪詢算法
u 新的連接被依次輪詢分發(fā)到各個實服務(wù)上,?比如第?一個連接分發(fā)到第?一臺服務(wù) 器?,第?二個連接分發(fā)到第?二臺服務(wù)器?上;
u 輪詢算法適?用于服務(wù)器?集群中所有服務(wù)器?都有相同的軟硬件配置,并且平均服 務(wù)器?請求相對均衡的情況;
(2)加權(quán)輪詢算法
u 根據(jù)服務(wù)器?不不同的處理理能?力力,給服務(wù)器?分配不不同的權(quán)值,使其能接受相應(yīng)權(quán)值
的服務(wù)器?請求;
u 加權(quán)輪詢算法能確保?高性能的服務(wù)器?能得到更更多的使?用率,避免低性能的服務(wù) 器?過載過重;
(3)最少連接數(shù)算法
u 最少連接數(shù)算法對內(nèi)部需要負載的每?一臺服務(wù)器?上的連接數(shù)都?一個記錄,記錄 當前該服務(wù)器?正在處理理的連接數(shù),當有新的服務(wù)連接請求時,把請求分發(fā)給連接 數(shù)最少的服務(wù)器?,使均衡更更加符合實際情況,負載更更具啊均衡;
u 最少連接數(shù)算法適合?長時間處理理的請求,例例如:FTP。
u 加權(quán)最少連接數(shù)算法,即將加權(quán)與連接數(shù)配合使?用,根據(jù)連接數(shù)與加權(quán)的?比例例
計算出當前請求應(yīng)該分發(fā)給哪個具體的服務(wù)器?; (4)隨機算法
u 將新連接請求隨機分發(fā)給各個服務(wù)器?;
u 加權(quán)隨機算法,即將加權(quán)與隨機算法配合使?用,根據(jù)隨機數(shù)與加權(quán)的?比例例計算
出當前請求應(yīng)該分發(fā)給哪個具體的服務(wù)器?; (5)源地址散列列
u 根據(jù)新連接請求的源IP地址進?行行散列列HASH的結(jié)果,決定將請求分發(fā)給具體的 服務(wù)器?;
u 來在相同客戶端的連接會被分發(fā)到相同的服務(wù)器?上;
2.2 持續(xù)性 將多個連接持續(xù)重定向到同?一個服務(wù)器?的策略略,就是持續(xù)性功能。根據(jù)持續(xù)性原 則,建?立會話表項,保證后續(xù)業(yè)務(wù)報?文都送往同?一個服務(wù)器?處理理。?比如使?用源地 址建?立持續(xù)性表項,保證持續(xù)性。
u 基于源IP地址的持續(xù)性功能:
負載均衡設(shè)備接收到某?一客戶端的某?一業(yè)務(wù)的?首次請求時,建?立持續(xù)性表項,記 錄為該客戶分配的服務(wù)器?情況,在會話表項?生存周期內(nèi),后續(xù)該業(yè)務(wù)報?文都將發(fā) 往該服務(wù)器?處理理?;谠碔P地址持續(xù)性功能的特點是:實現(xiàn)簡潔快速。
u Cookies保持 Cookies持續(xù)性利利?用客戶機存儲的cookies信息來吧客戶機連接到合適的服務(wù)器?
上,其原理理如下:
(1) ?首次命中Http請求(不不帶cookes)進?行行LB,此時LB任選?一臺服務(wù)器?, 將請求轉(zhuǎn)發(fā)?至該服務(wù)器?;
(2) 來?自該服務(wù)器?的Http回復報?文此時包括?一個空?白的cookies,LB重寫 cookies,并再粘貼?一個特殊的cookies后將http報?文發(fā)送回去;
(3) 再次命中Http請求(帶有與上?面形相同的cookies)進?入LB,LB設(shè)備借
助cookies信息確定合適的服務(wù)器?;
3 服務(wù)器?負載均衡技術(shù)介紹
3.1 概念介紹
u 虛服務(wù):負載均衡設(shè)備對外提供的服務(wù)稱為虛服務(wù),虛服務(wù)由VPN實例例,虛服 務(wù)IP地址、服務(wù)協(xié)議、服務(wù)端?口號唯?一標識,配置負載均衡設(shè)備上,客戶的訪問 請求通過公關(guān)?網(wǎng)絡(luò)或私有?網(wǎng)絡(luò)到達負載均衡設(shè)備時,匹配到虛服務(wù)后,由負載均 衡設(shè)備按照既定的策略略分發(fā)給實服務(wù);
u 實服務(wù):實服務(wù)器?是真實服務(wù)器?提供?一種服務(wù),該服務(wù)含義?比較?廣泛,可以是 傳統(tǒng)的FTP,HTTP等業(yè)務(wù),也可以是?廣泛的轉(zhuǎn)發(fā)服務(wù),如防?火墻?網(wǎng)關(guān)負載均衡 中,實服務(wù)只是報?文的轉(zhuǎn)發(fā)路路徑;
u 實服務(wù)組:為了了便便于對實服務(wù)進?行行管理理,將多個實服務(wù)的?一些共有屬性提取出 來形成實服務(wù)組,?一個虛服務(wù)對應(yīng)?一個實服務(wù)組,?一個實服務(wù)組對應(yīng)多個實服 務(wù),相同的實服務(wù)組不不能屬于不不同的虛服務(wù);
3.2 服務(wù)器?負載均衡?工作機制 服務(wù)器?負載均衡有兩種?工作?方式:
u NAT(NetworkAddressTranslation,?網(wǎng)絡(luò)地址轉(zhuǎn)換)?方式
u 直接路路由(DirectRouting,簡稱DR)?方式
(1)NAT?方式 NAT?方式組?網(wǎng)靈活,后端服務(wù)器?可以位于不不同的物理理位置,不不同的局域?網(wǎng)內(nèi)。
1、實現(xiàn)原理理
客戶端將到VSIP的請求發(fā)送給服務(wù)器?群前端的負載均衡設(shè)備,負載均衡設(shè)備上的 虛服務(wù)接收客戶端請求,通過調(diào)度算法,選擇真實服務(wù)器?,再通過?網(wǎng)絡(luò)地址轉(zhuǎn) 換,?用真實服務(wù)器?地址重寫請求報?文的?目標地址后,將請求發(fā)送給選定的真實服 務(wù)器?;真實服務(wù)器?的響應(yīng)報?文通過負載均衡設(shè)備時,報?文的源地址被還原為虛服 務(wù)的VSIP,再返回給客戶,完成整個負載調(diào)度過程。
2、技術(shù)特點
組?網(wǎng)靈活,對服務(wù)器?沒有額外要求,不不需要修改服務(wù)器?配置,適?用于各種組?網(wǎng)。
步驟
說明
源IP
?目的IP
1 Host發(fā)放請求報?文 Host-IP
VIP
2 LB收到請求報?文后,根據(jù)調(diào)度算法計算出請求報?文分發(fā)給哪臺服務(wù)器? -
-
3
LB使?用DNAT技術(shù)分發(fā)報?文
Host-IP
Server IP
4
Server接收并處理理請求,返回相應(yīng)報?文
Server IP
Host-IP
5 LB接收相應(yīng)報?文,轉(zhuǎn)換源IP后轉(zhuǎn)發(fā) VIP
Host-IP
(2)DR?方式
相對于NAT 組?網(wǎng)?方式,DR 組?網(wǎng)?方式,只有客戶端的請求報?文通過LB,服務(wù)器?的
響應(yīng)報?文不不經(jīng)過LB,從?而減少了了LB的負載,有效的避免了了LB成為?網(wǎng)絡(luò)瓶頸。 1、實現(xiàn)原理理
DR?方式的服務(wù)器?負載均衡時,除了了LB設(shè)備上配置了了VSIP,真實服務(wù)器?也都配置 了了VSIP址,配置的VSIP要求不不能響應(yīng)ARP請求,例例如在環(huán)回接?口上配置VSIP。 發(fā)送給VSIP的報?文,由LB分發(fā)給相應(yīng)的真實服務(wù)器?,從真實服務(wù)器?返回給客戶 端的報?文直接通過交換機返回。
2、技術(shù)特點 只有單邊報?文經(jīng)過負載均衡設(shè)備,負載均衡設(shè)備負擔?小,不不易易成為瓶頸,轉(zhuǎn)發(fā)性
能更更強。
步驟 說明 源IP ?目的IP
1
Host發(fā)放請求報?文
Host-IP
VIP
2
General device收到請求后轉(zhuǎn)發(fā)給LB,Server上的VIP不不能發(fā)送和相應(yīng)ARP報?文, 因此General device只能將報?文轉(zhuǎn)發(fā)給LB
Host-IP
VIP
3
LB使?用調(diào)度算法決定將報?文分發(fā)給哪臺服務(wù)器?,在封裝報?文時?目的IP為VIP,?目 的MAC為Server的?目的MAC(根據(jù)ARP請求Server IP獲取)
-
-
4 LB轉(zhuǎn)發(fā)報?文給Server服務(wù)器? Host-IP
VIP
MAC=Server-MAC
5
Server接收并處理理請求,返回相應(yīng)報?文給General device VIP
Host-IP
6
General device收到報?文后,直接轉(zhuǎn)發(fā)給Host VIP
Host-IP
3.3 服務(wù)器?狀態(tài)檢查 所謂狀態(tài)檢查就是指負載均衡設(shè)備定期對真實服務(wù)器?運?行行狀態(tài)進?行行探測,收集相 應(yīng)信息,及時隔離?工作異常的服務(wù)器?。健康檢查的結(jié)果除標識服務(wù)器?能否正常?工 作外,還可以統(tǒng)計出服務(wù)器?影響時間,作為選擇服務(wù)器?的依據(jù)。負載均衡技術(shù)?支 持豐富的健康狀態(tài)檢查算法,可以有效地探測和檢查服務(wù)器?的運?行行狀態(tài)。
ICMP:向服務(wù)器?發(fā)送ICMPEcho報?文,若收到ICMP Reply,則服務(wù)器?正常; TCP:向服務(wù)器?的某端?口建?立TCP連接,若成功,則服務(wù)器?正常;
HTTP:和服務(wù)器?的80端?口建?立TCP連接,然后發(fā)出HTTP請求,若所收到的 HTTP應(yīng)答內(nèi)容爭取,則服務(wù)器?正常;
FTP:和服務(wù)器?21端?口建?立連接,然后獲取?一個服務(wù)器?相關(guān)?目錄放置的?文件,若 所收到的?文件內(nèi)容正確,則服務(wù)器?正常;
4 鏈路路負載技術(shù)介紹 鏈路路負載均衡根據(jù)業(yè)務(wù)流量量?方向可以分為outbound鏈路路負載均衡和inbound鏈路路 負載均衡兩種情況。
4.1 outbound鏈路路負載均衡 內(nèi)?網(wǎng)?用戶和外?網(wǎng)之間存在多條鏈路路時,通過outbound鏈路路負載均衡可以實現(xiàn)在多 條鏈路路上分擔內(nèi)?網(wǎng)?用戶訪問外?網(wǎng)服務(wù)器?的流量量。
1、 實現(xiàn)原理理
Outbound鏈路路負載均衡中VSIP為內(nèi)?網(wǎng)?用戶發(fā)送報?文的?目的IP,?用戶將訪問VSIP 的報?文發(fā)送到負載均衡設(shè)備上后,負載均衡設(shè)備依次根據(jù)持續(xù)性、ACL策略略、就
近性、調(diào)度算法選擇最佳的物理理鏈路路,并將內(nèi)?網(wǎng)流量量分發(fā)到該鏈路路上。 2、 技術(shù)特點
可以和NAT應(yīng)?用?網(wǎng)關(guān)共同組?網(wǎng),不不同的鏈路路使?用不不同的源地址,從?而保證往返報 ?文穿過同?一條鏈路路;
通過健康性檢查,可以檢查鏈路路內(nèi)任意節(jié)點的連通性,從?而有效保證整條鏈路路上
的可達性;
通過調(diào)度算法,在多條鏈路路間均衡流量量,并?支持按照帶寬進?行行負載均衡;
利利?用就近性算法動態(tài)計算鏈路路的質(zhì)量量,將流量量分發(fā)到當前最優(yōu)鏈路路上。
步驟
說明
1
LB設(shè)備接收到內(nèi)?網(wǎng)流量量
2 LB設(shè)備依據(jù)就近性,ACL策略略,持續(xù)性,調(diào)度算法選擇鏈路路 3
LB設(shè)備將流量量分發(fā)到選擇出的鏈路路上 4
LB接收外?網(wǎng)?用戶流量量
5
LB將外?網(wǎng)?用戶流量量轉(zhuǎn)發(fā)給設(shè)備 4.2 inbound鏈路路負載均衡
內(nèi)?網(wǎng)和外?網(wǎng)之間存在多條鏈路路時,通過inbound鏈路路負載均衡可以實現(xiàn)在多條鏈 路路上分擔外?網(wǎng)?用戶訪問內(nèi)?網(wǎng)服務(wù)器?的流量量。
1、 實現(xiàn)原理理
Inbound鏈路路負載均衡中,負載均衡設(shè)備作為權(quán)威服務(wù)器?記錄域名與內(nèi)?網(wǎng)服務(wù)器? IP地址的映射關(guān)系,?一個域名可以映射多個IP地址,其中每個IP地址對應(yīng)?一條物 理理鏈路路;
外?網(wǎng)?用戶通過域名?方式訪問內(nèi)?網(wǎng)服務(wù)器?時 ,本地DNS服務(wù)器?將域名解析請求發(fā)送 給權(quán)威名稱服務(wù)器?——負載均衡設(shè)備,負載均衡設(shè)備依據(jù)持續(xù)性、ACL策略略、就 近性等算法選擇最?大的鏈路路,并將通過該鏈路路與外?網(wǎng)接?口的IP地址作為DNS解析 結(jié)果反饋給外?網(wǎng)?用戶,外?網(wǎng)?用戶通過該鏈路路訪問內(nèi)?網(wǎng)服務(wù)器?。
2、 技術(shù)特點 可以和服務(wù)器?負載均衡配置使?用,實現(xiàn)外?網(wǎng)?用戶訪問內(nèi)?網(wǎng)服務(wù)器?的流量量在多條鏈
路路間均衡的同時,也實現(xiàn)了了流量量在多臺服務(wù)器?間均衡;
通過健康檢查,可以檢查鏈路路內(nèi)任意節(jié)點的連通性,從?而有效保證整條鏈路路的可
達性;
利利?用就近性算法動態(tài)計算鏈路路的質(zhì)量量,保證轉(zhuǎn)發(fā)流量量的鏈路路時當前最佳的鏈路路。
步驟
說明
1
外?網(wǎng)?用戶通過域名訪問內(nèi)?網(wǎng)服務(wù)器?時,?首先要進?行行DNS解析,向本地DNS服務(wù)器? 發(fā)送DNS解析請求
本地DNS服務(wù)器?將DNS請求轉(zhuǎn)發(fā)給權(quán)威的名稱服務(wù)器?——LB 2
LB設(shè)備根據(jù)請求的域名,持續(xù)性,ACL策略略,就近性等算法選擇最?用的物理理鏈 路路,并將給物理理鏈路路與外?網(wǎng)連接的接?口IP地址作為域名解析結(jié)果
3 LB設(shè)備將解析結(jié)果返回給本地DNS 4
本地DNS將結(jié)果返回給Host
5 ?用戶使?用返回的結(jié)果對內(nèi)?網(wǎng)發(fā)起訪問 5 ?網(wǎng)關(guān)負載均衡
LB Device負載分發(fā)請求發(fā)起?方的?網(wǎng)絡(luò)流量量到多個?網(wǎng)關(guān)設(shè)備,LB?又分為?一級和?二 級,如果請求發(fā)起?方的?網(wǎng)絡(luò)流量量為Host A->Host B,則LB Device A為?一級,LB Device B為?二級;
?網(wǎng)絡(luò)設(shè)備:正常處理理數(shù)據(jù)的?網(wǎng)絡(luò)設(shè)備; 1、 實現(xiàn)原理理
防?火墻是基于會話開展業(yè)務(wù)的,即?一個會話的請求和應(yīng)答報?文必須通過同?一個防 ?火墻,為了了保證防?火墻業(yè)務(wù)正常進?行行,內(nèi)部組?網(wǎng)不不受影響,需要采?用雙側(cè)防?火 墻,即防?火墻三明治。在這種組?網(wǎng)環(huán)境中,對于流?入流量量?一級LB設(shè)備做防?火墻負 載均衡,?二級LB設(shè)備保證從哪個防?火墻進來的流量量,還要從哪個防?火墻返回;流 出鏈路路正好相反。
2、 技術(shù)特點 服務(wù)對象為防?火墻,提?高防?火墻組?網(wǎng)靈活性。沒有特殊要求,適?用于任何組?網(wǎng)環(huán)
境。 步驟 說明
1
LB A接收?網(wǎng)絡(luò)流量量
2
LB A根據(jù)調(diào)度算法將流量量轉(zhuǎn)發(fā)給某臺Firewall
3
Firewall將流量量轉(zhuǎn)發(fā)給LB B
4
LB B記錄轉(zhuǎn)發(fā)流量量的防?火墻,并把流量量轉(zhuǎn)發(fā)到?目的地 5
LB B接收來?自?目的地的回應(yīng)流量量
6
LB B根據(jù)記錄將流量量轉(zhuǎn)發(fā)給相應(yīng)的防?火墻
7
Firewall將流量量轉(zhuǎn)發(fā)給LB A,LB A將流量量轉(zhuǎn)發(fā)回源地址 防?火墻負載均衡也可以服務(wù)器?負載均衡配置使?用:
Cluster A為防?火墻負載均衡的集權(quán),ClusterB為服務(wù)器?的負載均衡集群,綜合組 ?網(wǎng)的?工作流程就是防?火墻和服務(wù)器?負載均衡的疊加,這種組?網(wǎng)?方式避免了了防?火墻 稱為?網(wǎng)絡(luò)中的瓶頸,也提?高了了?網(wǎng)絡(luò)服務(wù)的性能和可?用性。
6 智能選路路 智能選路路系統(tǒng)——不不僅僅是?一項功能
智能選路路系統(tǒng)——是?一系列列功能組成的解決?方案
6.1 關(guān)鍵?用戶?走某條優(yōu)質(zhì)鏈路路——默認路路由+策略略路路由
選路路原理理
關(guān)鍵?用戶?走某條優(yōu)質(zhì)鏈路路
普通?用戶按照流量量在出?口設(shè)備被均衡分配
優(yōu)勢
實現(xiàn)簡單,業(yè)內(nèi)路路由器?均可?支持
缺點
優(yōu)質(zhì)鏈路路跑滿,關(guān)鍵?用戶業(yè)務(wù)受影響
存在跨運營商現(xiàn)象,影響?用戶上?網(wǎng)體驗
6.2 從運營商下載IP列列表——靜態(tài)路路由+默認路路由
選路路原理理
從運營商下載ISP的IP地址列列表 通過靜態(tài)路路由的?方式靜態(tài)選路路,訪問電信的?走電信,訪問聯(lián)調(diào)的?走聯(lián)調(diào) 其余流量量?走?大帶寬鏈路路(默認路路由)
優(yōu)勢
解決了了跨運營商問題,
選擇正確的IPS鏈路路,保證?用戶體驗 實現(xiàn)簡單,業(yè)內(nèi)標準路路由器?都可以?支持
缺點
1、ISP列列表變化頻繁,第?一次實施后不不易易更更新和維護
2、若鏈路路跑滿,路路由策略略?無法?自動變更更,例例如: (a)電信鏈路路跑滿,聯(lián)調(diào)鏈路路空閑,若?用戶命中電信地址,仍然會選擇電信鏈
路路,從?而造成丟包
(b)電信鏈路路空閑,默認路路由鏈路路跑滿,后續(xù)命中默認路路由的數(shù)據(jù)仍會現(xiàn)則滿 載鏈路路,造成丟包
6.3 智能選路路 鏈路路健康監(jiān)測優(yōu)先級最?高,若鏈路路失效,則鏈路路上所有路路由策略略都會失效
策略略路路由?高于過載保護,即使某條鏈路路負載已經(jīng)超過設(shè)定的保護閥值,通過策略略
路路由仍可使?用該鏈路路
若應(yīng)?用路路由、靜態(tài)路路由、地址庫路路由、默認路路由中,存在等價路路由,則可以通過 MLLB進?行行負載
6.4 鏈路路過載保護
鏈路路負載超過設(shè)置的閾值,后續(xù)流量量切換到其他鏈路路
切換的前提是NPE?自動探測到鏈路路到?目的IP地址可到
策略略路路由不不受過載保護的影響
6.5 應(yīng)?用路路由 ?首包識別數(shù)據(jù)流的應(yīng)?用,根據(jù)應(yīng)?用做選路路,傳統(tǒng)應(yīng)?用路路由的難點:
u 基于應(yīng)?用的路路由,?首先要把應(yīng)?用識別出來; u ?目前應(yīng)?用的識別?無外乎DPI,DFI等;
u DPI識別是通過7層特征識別,需要等待流的連接建?立完成,7層協(xié)議開始傳出 后才能識別出來,簡單的說,DPI的是被落后與連接的建?立,當DPI識別出該應(yīng)?用 的時候,連接已經(jīng)建?立起來,這時如果再做選路路,必須?首先要斷掉之前建?立的流 連接;
6.5.1 ?大流量量協(xié)議識別
技術(shù)點 協(xié)議識別:
?大容量量傳輸?shù)膽?yīng)?用通常有控制流量量和傳輸流量量,?比如:FTP,迅雷雷,BT,電驢, QVOD等
原理理
控制流量量不不做應(yīng)?用路路由
識別傳輸流量量做應(yīng)?用路路由
6.5.2 DNS識別
技術(shù)點
特定?網(wǎng)站,只需要截獲DNS報?文,就可以知道其類型。
如:優(yōu)酷、?土?豆、奇藝、新浪視頻等
原理理
監(jiān)測DNS報?文,發(fā)現(xiàn)URL請求是特定?網(wǎng)站,記錄DNS回應(yīng)報?文(即該?網(wǎng)站的IP) 進?行行路路由,影響IP流量量通過設(shè)備時會被路路由到特定的鏈路路上;
若?門戶?網(wǎng)站包含視頻,則只監(jiān)控視頻類。如新浪,只監(jiān)控video.sina.com.cn
6.5.3 主動控制 技術(shù)點
P2P協(xié)議,如果斷流,雙?方會發(fā)起重傳機制
原理理 對于P2P,在初期通過DPI、DFI識別后,主動將其切斷; 通過NPE記錄的流信息,根據(jù)應(yīng)?用路路由重傳請求; ?用戶端不不會有任何感知;
6.5.4 地址庫 技術(shù)點
某些應(yīng)?用的?目的IP固定,且流量量?大,如?網(wǎng)盤、移動終端應(yīng)?用下載等 原理理
?人?工收集此類應(yīng)?用的?目的IP
6.6 DNS代理理
u DNS代理理不不屬于路路由體系,但能影響選路路結(jié)果;所有的路路由體系的選路路都是?目 的IP通過DNS確認后,才開始?工作的;?而DNS代理理是幫助?用戶獲得更更合理理IP的技 術(shù),所以其?生效是在路路由體系之前;
u 適?用范圍:?目標URL擁有多個ISP的服務(wù)器?(?一般?大型?網(wǎng)站都如此);
u ?用戶價值:在鏈路路負載過?高時,提升?用戶體驗,合理理分配?目的IP所屬運營商, 結(jié)合地址庫,使鏈路路利利?用更更均衡。(如,不不開此功能,?用戶DHCP分配電信 DNS,則10個?網(wǎng)站解析出9個電信+1個聯(lián)通,電信鏈路路壓?力力?大;開啟該功能后, 解析出5個電信+5個聯(lián)通,減?小電信鏈路路壓?力力);
6.6.1 DNS代理理實現(xiàn)原理理 原理理
u 設(shè)備上開啟DNS代理理功能;
u 配置電信和聯(lián)調(diào)的DNS服務(wù)器?;
u 當有DNS請求到達設(shè)備時,設(shè)備會根據(jù)鏈路路負載情況決定向電信DNS服務(wù)器?或 聯(lián)調(diào)DNS服務(wù)器?發(fā)送DNS請求報?文;
u DNS回應(yīng)報?文到達設(shè)備后,設(shè)備透傳給Host 6.7 智能選路路實現(xiàn)效果
---------------------
來源:CSDN 原?文:https://blog.csdn.net/u013743253/article/details/80476116 版權(quán)聲明:本?文為博主原創(chuàng)?文章,轉(zhuǎn)載請附上博?文鏈接!
負載均衡是一種計算機技術(shù),用來在多個計算機(集群)、網(wǎng)絡(luò)連接、cpu、或其他資源中分配負載,以達到最佳化資源使用、最大化吞吐率、最小響應(yīng)時間、同時避免過載的目的。
舉例:假設(shè)有大量的用戶同時登陸微信,微信需要對所有的用戶進行鑒權(quán),也就是判斷密碼是否正確,如果只是用一臺機器的話,同時處理上億條請求,那每條請求響應(yīng)的時間就不能保證,機器的負載也會過高,有掛掉的風險,如果同時部署幾十臺服務(wù)器來進行處理,每臺服務(wù)器處理一部分請求,那響應(yīng)時間和負載都可以得到有效的控制。
簡單來說,負載均衡就是將訪問你網(wǎng)站的流量均衡地發(fā)送到服務(wù)器集群中的每一個服務(wù)器。比如我用的就是小鳥云的負載均衡,可以通過消除單點故障的能力提升整個系統(tǒng)的可用性,對接大流量涌進時所需的容量。
使用負載均衡的原因:當我們的網(wǎng)站只有一個服務(wù)器時,如果有大流量的訪問,服務(wù)器很容易故障,造成網(wǎng)站無法訪問,這時候我們就需要部署一個服務(wù)器集群,負載均衡就是在面對服務(wù)器集群時提供的一種流量分發(fā),把大流量分均衡的分為幾股不同的小流量,送到不同的服務(wù)器上,這樣服務(wù)器不會故障,網(wǎng)絡(luò)也能確保順暢。
負載均衡(Load Balance)其意思就是分攤到多個操作單元上進行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。
負載均衡是為了降低服務(wù)端壓力還有服務(wù)風險,將流量分布到不同的機器上可以加強服務(wù)端處理能力,也規(guī)避了風險,采用單一服務(wù)器的話一旦出現(xiàn)流量爆發(fā),服務(wù)端可能掛掉。但是負載均衡也帶來了數(shù)據(jù)一致性的問題,session會話共享的問題也需要考慮。
8
回答6
回答0
回答2
回答0
回答6
回答0
回答2
回答0
回答10
回答