版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、負載均衡與集群詳解一、什么是負載均衡首先我們先介紹一下什么是負載均衡:負載平衡(Load balancing)是一種計算機網(wǎng)絡(luò)技術(shù),用來在多個計算機(計算機集群)、網(wǎng)絡(luò)連接、CPU、磁盤驅(qū)動器或其他資源中分配負載,以達到最佳化資源使用、最大化吞吐率、最小化響應(yīng)時間、同時避免過載的目的。這是來自維基百科的介紹。負載均衡的目的,就在于平衡負載,給用戶提供優(yōu)質(zhì),可靠,穩(wěn)定的服務(wù)。上圖是個最簡單的負載均衡實例,應(yīng)用服務(wù)器并不直接與用戶相連,用戶連接負載均衡服務(wù)器,然后由負載均衡服務(wù)器把消息轉(zhuǎn)發(fā)給實際應(yīng)用服務(wù)器。負載均衡器內(nèi)部會根據(jù)應(yīng)用服務(wù)器的負載情況,決定把消息轉(zhuǎn)發(fā)給哪臺服務(wù)器處理。同時負載均衡器還可
2、以對用戶屏蔽應(yīng)用服務(wù)器失效,只要把用戶的消息轉(zhuǎn)發(fā)到非失效服務(wù)器即可。提到負載均衡,就不能不介紹另外一個概念:集群。集群就是一組部署有相同應(yīng)用的服務(wù)器。例如web服務(wù)器。用戶的請求無論連接到哪臺服務(wù)器上,都能得到相同的處理。這樣我們實現(xiàn)一種服務(wù)器,可以將用戶的請求根據(jù)特定規(guī)則轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器上進行處理。就實現(xiàn)了完整的集群處理系統(tǒng)。這個服務(wù)器如果實現(xiàn)了后臺服務(wù)器感知和配置功能,能夠了解后臺服務(wù)器的可用情況。就可以被稱作為負載均衡器。負載均衡在目前網(wǎng)絡(luò)服務(wù)規(guī)模越來越龐大的情況下,成為一個大型服務(wù)器系統(tǒng)必須要面對的問題。隨著用戶和業(yè)務(wù)的增多,來自用戶的訪問量和數(shù)據(jù)流量不斷增大,對服務(wù)器的計算能力和儲存
3、要求也在不斷增加,單臺服務(wù)器根本無法承擔(dān)這么龐大的數(shù)據(jù)處理請求。這個時候,我們必須利用集群技術(shù),采用一組服務(wù)器對來自用戶的請求進行處理,服務(wù)器的數(shù)量要能夠不斷的擴充。在集群的前端,我們采用負載均衡技術(shù),平均分散用戶的請求到不同的處理服務(wù)器,并且能夠在集群中某個服務(wù)失效時,即時感知,屏蔽,將消息轉(zhuǎn)發(fā)到其他可用服務(wù)器上。負載均衡分為硬件和軟件:(1).硬件LB(比較出名的)F5公司的BIG-IP系列、Citrix公司的NetScaler系列、A10公司的AX系列(2).軟件LB四層:LVS(Linux VirtualServer)注:國人開發(fā)的、七層:Nginx,HAProxy二、集群的類型1.s
4、cale on:向上擴展將服務(wù)器的內(nèi)存容量調(diào)大和cpu數(shù)量增加些(簡單說升級服務(wù)器硬件)缺點:在一定的范圍之內(nèi)它的性能是上升的趨勢,但是超出范圍之后就是下降的趨勢。因為隨著它的cpu的個數(shù)增加我們需要給我們的cpu仲裁,而且隨著cpu個數(shù)的增加資源競爭性越大。2.scale out:向外擴展一臺服務(wù)器應(yīng)付不過來,我們就再增加一臺服務(wù)器。優(yōu)點:增減服務(wù)器很方便,而且沒有向上擴展隨著增加性能下降。向外擴張的工作模式:當(dāng)客戶端向服務(wù)器端發(fā)送請求,服務(wù)器端只拿出來一臺服務(wù)器來相應(yīng)我們的客戶端的請求。(1).LB:Load Balancing:負載均衡集群負載均衡集群中有一個分發(fā)器或者叫調(diào)度器,我們將其
5、稱之為Director,它處在多臺服務(wù)器的上面,分發(fā)器根據(jù)內(nèi)部鎖定義的規(guī)則或調(diào)度方式從下面的服務(wù)器群中選擇一個以此來響應(yīng)客戶端發(fā)送的請求。(2).HA:High Availability高可用集群高可用集群是服務(wù)的可用性比較高,當(dāng)我們某臺服務(wù)器死機后不會造成我們的服務(wù)不可用。其工作模式則是將一個具有故障的服務(wù)轉(zhuǎn)交給一個正常工作的服務(wù)器,從而達到服務(wù)不會中斷。一般來說我們集群中工作在前端(分發(fā)器)的服務(wù)器都會對我們的后端服務(wù)器做一個健康檢查,如果發(fā)現(xiàn)我們服務(wù)器當(dāng)機就不會對其在做轉(zhuǎn)發(fā)。衡量標準:可用性=在線時間/(在線時間+故障處理時間) 99%、99.9%、99.99%、99.999%(3).H
6、P:Hight Performance高性能高性能的集群是當(dāng)某一個任務(wù)量非常大的時候,我們做一個集群共同來完成這一個任務(wù)。這種處理方式我們稱為并行處理集群,并行處理集群是將大任務(wù)劃分為小任務(wù),分別進行處理的機制。一般這樣的集群用來科學(xué)研究與大數(shù)據(jù)運算等方面的工作。現(xiàn)在比較火的Hadoop就是使用的并行處理集群。說明:三種集群之間的區(qū)別負載均衡著重在于提供服務(wù)并發(fā)處理能力的集群,高可用以提升服務(wù)在線的能力的集群。高性能著重用于處理一個海量任務(wù)。三、主要負載均衡方案介紹1:HTTP重定向負載均衡這種負載均衡方式僅適合WEB服務(wù)器。用戶發(fā)出請求時,負載均衡服務(wù)器會根據(jù)HTTP請求,重新計算出實際的W
7、EB服務(wù)器地址,通過302重定向相應(yīng)發(fā)送給用戶瀏覽器。用戶瀏覽器再根據(jù)302響應(yīng)信息,對實際的WEB服務(wù)器發(fā)出請求。HTTP重定向方案有點是比較簡單,缺點是性能比較差,需要2次請求才能返回實際結(jié)果,還有就是僅適合HTTP服務(wù)器使用。2: DNS域名解析負載均衡在DNS中存儲了一個域名的多個主機地址,每次域名解析請求,都可以根據(jù)負載均衡算法返回一個不同的IP地址。這樣多個WEB服務(wù)器就構(gòu)成了一個集群,并由DNS服務(wù)器提供了負載均衡服務(wù)。DNS域名解析負載均衡的優(yōu)點是由DNS來完成負載均衡工作,服務(wù)本身不用維護負載均衡服務(wù)器的工作。缺點也是,由于負載均衡服務(wù)器不是自己維護,沒法做精細控制,而且DN
8、S在客戶端往往帶有緩存,服務(wù)器的變更很難及時反映到客戶端上。3:反向代理負載均衡反向代理服務(wù)器位于實際的服務(wù)器之前,他能夠緩存服務(wù)器響應(yīng),加速訪問,同時也啟到了負載均衡服務(wù)器的效果。反向代理服務(wù)器解析客戶端請求,根據(jù)負載均衡算法轉(zhuǎn)發(fā)到不同的后臺服務(wù)器上。用戶和后臺服務(wù)器之間不再有直接的鏈接。請求,響應(yīng)都由反向代理服務(wù)器進行轉(zhuǎn)發(fā)。優(yōu)點是和負載均衡服務(wù)集成在一起,部署簡單。缺點是所有的請求回應(yīng)都需要經(jīng)過反向代理服務(wù)器。其本身可能會成為性能的瓶頸。著名的Nginx服務(wù)器就可以部署為反向代理服務(wù)器,實現(xiàn)WEB應(yīng)用的負載均衡。上面的三種都是工作在OSI網(wǎng)絡(luò)模型中的應(yīng)用層,我們可以統(tǒng)稱為應(yīng)用層負載均衡(七
9、層負載均衡)。下面介紹的幾種工作在OSI網(wǎng)絡(luò)模型中的4層以及4層以下(四層負載均衡),解決方案也具有更大的通用性。4:IP負載均衡用戶請求包到達負載均衡服務(wù)器00后,負載均衡服務(wù)器在操作系統(tǒng)內(nèi)核層獲取網(wǎng)絡(luò)數(shù)據(jù)包,根據(jù)負載均衡算法獲取真實后臺服務(wù)器地址,然后將數(shù)據(jù)包的目標地址改為,轉(zhuǎn)發(fā)給內(nèi)部服務(wù)器。整個過程都在內(nèi)核層進行處理。收到的響應(yīng)包之后,會更改響應(yīng)包的SRC IP,轉(zhuǎn)發(fā)給客戶端用戶。采用IP層負載均衡算法,全部處理過程都在內(nèi)核層(Ring 0)進行。和七層負載均衡相比,具有更好的性能。但是由于所有的響
10、應(yīng)包都要經(jīng)過負載均衡服務(wù)器,負載均衡服務(wù)器的網(wǎng)卡帶寬,很容易成為系統(tǒng)的瓶頸,如果能夠讓響應(yīng)包不經(jīng)過負載均衡服務(wù)器,就可以極大的提升整個負載均衡服務(wù)器的服務(wù)能力。我們下面介紹的數(shù)據(jù)鏈路層負載均衡,就具有這個能力。5:數(shù)據(jù)鏈路層負載均衡數(shù)據(jù)鏈路層負載均衡,顧名思義,就是工作在TCP/IP協(xié)議最底層的數(shù)據(jù)鏈路層,進行負載均衡。我們常用的以太網(wǎng)中,在這一層主要采用數(shù)據(jù)幀進行通信,每個網(wǎng)卡都具有唯一的MAC地址,數(shù)據(jù)幀用MAC地址來標識數(shù)據(jù)的來源與目的地。數(shù)據(jù)鏈路層負載均衡通過修改數(shù)據(jù)包的MAC地址,實現(xiàn)負載均衡。這種數(shù)據(jù)傳輸方式又稱為三角傳輸,負載均衡數(shù)據(jù)分發(fā)過程中不修改IP地址,只修改目的MAC地址
11、,通過配置真實物理服務(wù)器集群所有機器虛擬IP和負載均衡服務(wù)器IP一致,從而達到不修改數(shù)據(jù)包的源地址和目的地址就可以進行數(shù)據(jù)分發(fā)的目的,由于實際處理請求的真實物理服務(wù)器IP和數(shù)據(jù)請求目的IP一致,不需要通過負載均衡服務(wù)器進行地址交換,可將響應(yīng)數(shù)據(jù)包直接返回給用戶,避免負載均衡服務(wù)器網(wǎng)卡帶寬成為瓶頸。這種負載均衡方式又稱之為直接路由方式(DR).如上圖所示,用戶請求到達負載均衡服務(wù)器00后,負載均衡服務(wù)器將數(shù)據(jù)包的目的MAC地址更改為00:1e:ec:bc:5e:03,并不修改數(shù)據(jù)包目的IP,由于服務(wù)器集群所有服務(wù)器的虛擬IP地址和負載均衡服務(wù)器IP地址一致,因此數(shù)據(jù)可以正
12、常傳輸?shù)竭_MAC地址為00:1e:ec:bc:5e:03的機器上,該服務(wù)器處理完之后,將響應(yīng)數(shù)據(jù)包發(fā)送到網(wǎng)關(guān)服務(wù)器,網(wǎng)關(guān)服務(wù)器直接將數(shù)據(jù)包發(fā)送給用戶,響應(yīng)數(shù)據(jù)不需要通過負載均衡服務(wù)器,這樣就避免了負載均衡服務(wù)器成為傳輸瓶頸的可能。數(shù)據(jù)鏈路層負載均衡是目前使用最廣泛的一種負載均衡方式。著名的負載均衡開源產(chǎn)品LVS(Linux Virtual Server),同時支持上面的IP負載均衡和數(shù)據(jù)鏈路層負載均衡。是學(xué)習(xí)負載均衡技術(shù)必須了解的產(chǎn)品?;跀?shù)據(jù)鏈路層的負載均衡雖然有非常好的性能,但是對網(wǎng)絡(luò)拓撲也有比較大的限制,負載均衡服務(wù)器和后臺服務(wù)器必須處于同一網(wǎng)絡(luò)環(huán)境中才可以。四、負載均衡算法介紹前面介紹
13、的內(nèi)容,解決了從用戶到實際后臺服務(wù)器之間的數(shù)據(jù)包發(fā)送和響應(yīng)的問題。下面我們介紹選擇實際后臺運行服務(wù)器的具體負載均衡算法。考慮到服務(wù)請求的不同類型服務(wù)器的不同處理能力以及隨機選擇造成的負載分配不均勻等問題,為了更加合理的把負載分配給內(nèi)部的多個服務(wù)器,就需要應(yīng)用相應(yīng)的能夠正確反映各個服務(wù)器處理能力及網(wǎng)絡(luò)狀態(tài)的負載均衡算法。我們以LVS為參考,介紹比較經(jīng)典的8種負載均衡算法。1.輪叫調(diào)度(Round Robin)調(diào)度器通過“輪叫調(diào)度算法將外部請求按順序輪流分配到集群中的真實服務(wù)器上,它均等地對待每一臺服務(wù)器,而不管服務(wù)器上實際的連接數(shù)和系統(tǒng)負載2.加權(quán)輪叫(Weighted Round Robin)
14、調(diào)度器通過“加權(quán)輪叫調(diào)度算法根據(jù)真實服務(wù)器的不同處理能力來調(diào)度訪問請求這樣可以保證處理能力強的服務(wù)器能處理更多的訪問流量調(diào)度器可以自動問詢真實服務(wù)器的負載情況,并動態(tài)地調(diào)整其權(quán)值3.最少鏈接(Least Connections)調(diào)度器通過“最少連接調(diào)度算法動態(tài)地將網(wǎng)絡(luò)請求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上如果集群系統(tǒng)的真實服務(wù)器具有相近的系統(tǒng)性能,采用“最小連接調(diào)度算法可以較好地均衡負載4.加權(quán)最少鏈接(Weighted Least Connections)在集群系統(tǒng)中的服務(wù)器性能差異較大的情況下,調(diào)度器采用“加權(quán)最少鏈接調(diào)度算法優(yōu)化負載均衡性能,具有較高權(quán)值的服務(wù)器將承受較大比例的活動連接負
15、載調(diào)度器可以自動問詢真實服務(wù)器的負載情況,并動態(tài)地調(diào)整其權(quán)值5.基于局部性的最少鏈接(Locality-Based Least Connections)“基于局部性的最少鏈接調(diào)度算法是針對目標IP地址的負載均衡,目前主要用于Cache集群系統(tǒng)該算法根據(jù)請求的目標IP地址找出該目標IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于一半的工作負載,則用“最少鏈接的原則選出一個可用的服務(wù)器,將請求發(fā)送到該服務(wù)器6.帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication)“帶復(fù)制的基于局部性最少鏈接調(diào)度算法也是針對目標IP地址的負載均衡,目前主要用于Cache集群系統(tǒng)它與LBLC算法的不同之處是它要維護從一個目標IP地址到一組服務(wù)器的映射,而LBLC算法維護從一個目標IP地址到一臺服務(wù)器的映射該算法根據(jù)請求的目標IP地址找出該目標IP地址對應(yīng)的服務(wù)器組,按“最小連接原則從服務(wù)器組中選出一臺服務(wù)器,若服務(wù)器沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器超載,則按“最小連接原則從這個集群中選出一臺服務(wù)器,將該服務(wù)器加入到服務(wù)器組中,將請求發(fā)送到該服務(wù)器同時,當(dāng)該服務(wù)器組有一段時間沒有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房屋買賣合同中的稅費分擔(dān)約定3篇
- 二零二五版電力工程監(jiān)理勞務(wù)分包合同范本2篇
- 基于2025年度預(yù)算的網(wǎng)絡(luò)營銷與電商平臺建設(shè)合同3篇
- 二零二五年度餐飲行業(yè)特色農(nóng)產(chǎn)品配送與扶貧合作合同3篇
- 二零二五版二手房定金交易合同范本2篇
- 二零二五年環(huán)保凈化設(shè)備銷售與排放監(jiān)測合同2篇
- 二零二五年船舶制造車間通風(fēng)除塵系統(tǒng)合同3篇
- 物業(yè)管理委托合同2025年度版18篇
- 二零二五年網(wǎng)絡(luò)安全風(fēng)險評估與整改服務(wù)合同規(guī)范文本283篇
- 全新2025年度體育用品生產(chǎn)加工合同:體育用品設(shè)計公司與制造商之間的生產(chǎn)加工協(xié)議3篇
- 歷史-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 2024年安全生產(chǎn)法律、法規(guī)、標準及其他要求清單
- 2023年高考文言文閱讀設(shè)題特點及備考策略
- 抗心律失常藥物臨床應(yīng)用中國專家共識
- 考級代理合同范文大全
- 2024解析:第三章物態(tài)變化-講核心(原卷版)
- DB32T 1590-2010 鋼管塑料大棚(單體)通 用技術(shù)要求
- 安全行車知識培訓(xùn)
- 2024年安徽省高校分類對口招生考試數(shù)學(xué)試卷真題
- 第12講 語態(tài)一般現(xiàn)在時、一般過去時、一般將來時(原卷版)
- 2024年采購員年終總結(jié)
評論
0/150
提交評論