云計算集群技術(shù)及應(yīng)用 課件 第1章 集群基礎(chǔ)知識_第1頁
云計算集群技術(shù)及應(yīng)用 課件 第1章 集群基礎(chǔ)知識_第2頁
云計算集群技術(shù)及應(yīng)用 課件 第1章 集群基礎(chǔ)知識_第3頁
云計算集群技術(shù)及應(yīng)用 課件 第1章 集群基礎(chǔ)知識_第4頁
云計算集群技術(shù)及應(yīng)用 課件 第1章 集群基礎(chǔ)知識_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第1章集群基礎(chǔ)知識1.1集群簡介1.2

集群的分類1.3

負(fù)載均衡1.4服務(wù)器健康檢查熟悉集群的核心概念熟悉集群的分類及常用軟件熟悉四層和七層負(fù)載均衡的技術(shù)原理熟悉負(fù)載均衡的主要方式了解服務(wù)器健康檢測引言說到集群,講一個例子幫助讀者理解其概念。原先的飯店只有一個廚師,負(fù)責(zé)洗菜、切菜、備料、炒菜,飯店正常運行,后來客人多了,一個廚師滿足不了上菜需求,于是老板又招了廚師,兩個廚師可以炒出同樣的菜,兩個廚師就是集群。隨著飯店規(guī)模和客流量的增多,還可以繼續(xù)招廚師,這些廚師就是一個集群。1.1集群簡介集群的核心概念集群的特點1.1集群簡介1.1.1集群的核心概念單機結(jié)構(gòu)是指所有應(yīng)用或服務(wù)部署到一臺服務(wù)器上??上攵?,當(dāng)業(yè)務(wù)不斷擴大,而單機的處理能力有限,這時單機的硬件資源無法滿足業(yè)務(wù)需求。集群(Cluster)是指部署相同應(yīng)用或服務(wù)的一組(多臺)服務(wù)器組成一個并行或者分布式系統(tǒng),作為一個整體向用戶提供網(wǎng)絡(luò)資源。組成集群的單個服務(wù)器為一個節(jié)點(Node),這些節(jié)點可以相互通信,協(xié)同為用戶提供相同的資源,一個節(jié)點的宕機并不影響其他節(jié)點的運行和用戶使用。每個節(jié)點就像是單機的“分身術(shù)”,其處理能力隨之成倍提升。1.1集群簡介1.1.1集群的核心概念負(fù)載均衡(LoadBalance,LB)是指將負(fù)載(工作任務(wù))分?jǐn)偨o到多個服務(wù)器上進行執(zhí)行,如Web服務(wù)器、企業(yè)核心應(yīng)用服務(wù)器、FTP服務(wù)器等,協(xié)同處理工作任務(wù)。當(dāng)大量用戶請求集群系統(tǒng)時,通過負(fù)載均衡器使得每個節(jié)點的負(fù)載情況比較平均,從而達(dá)到集群節(jié)點分擔(dān)流量的作用。高可用(HighAvailability,HA)是指保持服務(wù)的高可用性,即保證一個系統(tǒng)不會因一臺服務(wù)器發(fā)生故障或宕機而導(dǎo)致服務(wù)停止。如果某個節(jié)點服務(wù)器故障,負(fù)載均衡器則會將請求轉(zhuǎn)移到其他節(jié)點上,實現(xiàn)冗余接管,這就是系統(tǒng)的高可用。對于商用網(wǎng)站,這也就要求即使是訪問量小的服務(wù)或應(yīng)用,也需要部署兩臺服務(wù)器做集群。1.1集群簡介1.1.1集群的核心概念集群結(jié)構(gòu)常常與分布式結(jié)構(gòu)協(xié)同合作,相輔相成。前言中講到,兩個廚師一起洗菜、切菜、備料、炒菜,做著同樣的工作,構(gòu)成集群。老板為了使廚師專心炒菜,又招了2名配菜師,負(fù)責(zé)洗菜、切菜和備料,兩名配菜師又構(gòu)成一個集群,而配菜師與廚師的關(guān)系則為分布式結(jié)構(gòu)。由此理解分布式結(jié)構(gòu)是指將同一業(yè)務(wù)模塊分為多個(兩個以上)子任務(wù),部署到多個服務(wù)器上,即不同的業(yè)務(wù)模塊部署到不同的服務(wù)器上。1.1集群簡介1.1.1集群的核心概念分布式與集群的區(qū)別如下。(1)集群指的是將幾臺服務(wù)器集中在一起,實現(xiàn)同一業(yè)務(wù)。分布式是指將不同的業(yè)務(wù)模塊部署到在不同的服務(wù)器。(2)集群并不一定就是分布式的,而分布式的每一個節(jié)點,都可以做集群。集群具有一定組織性,一臺服務(wù)器宕了,其他的服務(wù)器繼續(xù)提供服務(wù)。分布式的每一個節(jié)點完成不同的業(yè)務(wù),一個節(jié)點宕了,這個業(yè)務(wù)就不可訪問了。1.1集群簡介1.1.2集群的特點1.高可用性和容錯性集群架構(gòu)中的某臺服務(wù)器因故障宕機,系統(tǒng)通過進程遷移到其他可用的節(jié)點繼續(xù)提供服務(wù),大大提高了系統(tǒng)的可用性和可靠性,有效地減少業(yè)務(wù)的損失,極大地滿足了互聯(lián)網(wǎng)企業(yè)7*24小時提供服務(wù)的要求。1.1集群簡介1.1.2集群的特點2.高性能到目前為止,即使是大型計算機,計算能力也是有限的,比如計算高分子材料分析、天氣預(yù)報、飛行器數(shù)字模擬等密集型應(yīng)用,其計算時間可能會很長。大家所熟悉的百度、淘寶、谷歌等大型網(wǎng)站,一天的訪問量達(dá)上百億,也絕不是一臺或幾臺大型機就可以構(gòu)建的。集群便可以很好地處理這些復(fù)雜的業(yè)務(wù),將上萬臺服務(wù)器構(gòu)成高性能集群,在并發(fā)或總請求量很高時,集群就顯示出超強的運算處理能力。1.1集群簡介1.1.2集群的特點3.可擴展性例如,銀行處理業(yè)務(wù)的柜臺一般都有多個,如果只設(shè)置2個柜臺,當(dāng)客戶達(dá)到上百人時,那么辦理業(yè)務(wù)的柜臺壓力增長,滿足不了客戶的需求。這時就需要多加幾個柜臺,從而提高處理業(yè)務(wù)的效率。在集群系統(tǒng)中,當(dāng)服務(wù)負(fù)載和壓力增長時,只需要將新的服務(wù)器加入現(xiàn)有集群架構(gòu)中,就可以實現(xiàn)系統(tǒng)的擴展和升級。而在用戶訪問角度,幾乎不會感覺到變化。1.1集群簡介1.1.2集群的特點4.成本相對較低一臺超級計算機的價格在上百美元,而一套較好的集群設(shè)備,包括軟硬件的開銷超過10萬美元,相對便宜不少。在獲得同樣性能的情況下,集群系統(tǒng)具有更高的性價比。5.負(fù)載均衡負(fù)載均衡可以把工作任務(wù)比較均勻的分?jǐn)偨o集群環(huán)境下的各個節(jié)點,有效地提高數(shù)據(jù)的吞吐量。1.2集群的分類負(fù)載均衡集群高可用集群高性能計算集群1.2集群的分類1.2.1負(fù)載均衡集群負(fù)載均衡集群是指在使用一組應(yīng)用程序為大量客戶提供服務(wù)時,通過若干前端負(fù)載均衡器將客戶請求分發(fā)到后端應(yīng)用集群服務(wù)器的技術(shù),各個節(jié)點的訪問請求被動態(tài)分配,達(dá)到整個系統(tǒng)的高可用和高性能。在企業(yè)中,負(fù)載均衡集群以提高服務(wù)的并發(fā)處理能力為重點,在系統(tǒng)架構(gòu)中表現(xiàn)得更為實用、性價比更高??蛻粼L問請求一般包括網(wǎng)絡(luò)流量負(fù)載和應(yīng)用程序負(fù)載。例如,網(wǎng)站初期僅支持100個用戶同時在線,網(wǎng)站規(guī)模小,瀏覽量僅個位數(shù),這時單臺服務(wù)器比多個服務(wù)集群要快,用戶體驗感更好,不會感受到網(wǎng)站的卡頓。1.2集群的分類1.2.1負(fù)載均衡集群隨著網(wǎng)站規(guī)模增大,瀏覽量人數(shù)增多,當(dāng)并發(fā)請求或總請求數(shù)量大于單臺服務(wù)器的負(fù)載能力時,用戶的體驗感隨著瀏覽量的增加直線下降。這時可以增加幾臺服務(wù)器同時運行這個網(wǎng)站,在服務(wù)器前搭建一個轉(zhuǎn)發(fā)器用來分發(fā)用戶的請求,使每個服務(wù)器接收的請求和負(fù)載壓力盡可能均勻,這樣每個用戶的請求都能很快被處理,用戶的體驗感得到提升。這個用來分發(fā)用戶請求的轉(zhuǎn)發(fā)器便是負(fù)載均衡,負(fù)載均衡以一種便捷、成本低廉的方式提高了網(wǎng)絡(luò)處理數(shù)據(jù)的能力。1.2集群的分類1.2.1負(fù)載均衡集群負(fù)載均衡集群的架構(gòu)示意圖當(dāng)客戶端的請求發(fā)送到服務(wù)端時,首先會到達(dá)目錄服務(wù)器,經(jīng)過目錄服務(wù)器的分配,這些請求才會傳遞到真實服務(wù)器進行處理。所謂的目錄服務(wù)器就是負(fù)載均衡服務(wù)器,專門用于將用戶的請求分發(fā)到不同的后端服務(wù)器,負(fù)載均衡服務(wù)器本身并不會對請求做任何處理。負(fù)載均衡集群的主要作用就是分擔(dān)訪問流量以及保持業(yè)務(wù)的連續(xù)性,實現(xiàn)負(fù)載均衡典型的開源軟件有LVS、Nginx、HAProxy等。1.2集群的分類1.2.2高可用集群高可用集群是指以盡量減少服務(wù)中斷時間為目的的集群技術(shù),在任意一個節(jié)點失效時,該節(jié)點所分配的所有工作任務(wù)將會自動分配給其他可用節(jié)點,保證集群正常運行并提供服務(wù),保持業(yè)務(wù)的正常運行。保證集群服務(wù)100%時間不中斷是不可能的,還要考慮計算機軟硬件的容錯性。例如重量級高配置的淘寶網(wǎng),當(dāng)“雙十一”活動開始時,一下涌入大量用戶,也會出現(xiàn)訂單無法支付的情況,因此只能保證集群服務(wù)盡可能的可用,不能保證100%時間可用。1.2集群的分類1.2.2高可用集群互聯(lián)網(wǎng)中,通常使用網(wǎng)站在線時間/(在線時間+故障處理時間)來衡量服務(wù)的可用性??捎眯藻礄C時間99%一年有3天不在線99.9%一年有0.3天不在線99.99%一年有0.03天不在線99.999%一年有0.003天不在線1.2集群的分類1.2.2高可用集群高可用集群主要實現(xiàn)自動偵測(Auto-Detect)故障、自動切換/故障轉(zhuǎn)移(FailOver)和自動恢復(fù)(FailBack)。1.2集群的分類1.2.2高可用集群負(fù)載均衡高可用的架構(gòu)示意圖設(shè)置兩臺目錄服務(wù)器,其中一臺正常工作,對外提供服務(wù)。另一臺當(dāng)作備用,當(dāng)正常工作的目錄服務(wù)器宕機,該服務(wù)器立刻頂替失效的目錄服務(wù)器進行工作。高可用集群主要是為了保證服務(wù)的高度可用性,常用的開源軟件包括Keepalived、Heartbeat等。1.2集群的分類1.2.3高性能計算集群高性能計算集群,又稱科學(xué)計算集群,是指用于計算海量數(shù)據(jù),解決復(fù)雜問題的技術(shù)。人們平時所說的超級計算機就是高性能計算集群,其內(nèi)部由十至上萬個獨立處理器組成,將大任務(wù)切割為小任務(wù)分別進行處理,擁有極大的數(shù)據(jù)存儲容量和極快的數(shù)據(jù)處理速度。高性能計算集群主要由大數(shù)據(jù)工程師進行維護,故在此不做過多介紹。1.3負(fù)載均衡負(fù)載均衡的分類四層和七層負(fù)載均衡的區(qū)別負(fù)載均衡的主要方式負(fù)載均衡的算法1.3負(fù)載均衡1.3.1負(fù)載均衡的分類負(fù)載均衡按軟硬件分類,軟件有Nginx、LVS、Amoeba、HAProxy等,硬件有ROSE、安瑞科技、F5、Citrix等。軟件類的負(fù)載均衡是指在服務(wù)器相應(yīng)的操作系統(tǒng)上安裝軟件來實現(xiàn)負(fù)載均衡,配置簡單,使用靈活;硬件類的負(fù)載均衡是指在服務(wù)器和外部網(wǎng)絡(luò)之間安裝的負(fù)載均衡設(shè)備,整體性能高。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類OSI七層模型應(yīng)用層表示層會話層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層①②③④⑤⑥⑦1.3負(fù)載均衡1.3.1負(fù)載均衡的分類負(fù)載均衡器按OSI七層模型可以分為二層、三層、四層、七層。負(fù)載均衡OSI七層模型位置技術(shù)原理典型代表二層負(fù)載均衡數(shù)據(jù)鏈路層通過一個虛擬MAC地址接收請求,然后再分配到后端真實的MAC地址F5、LVSDR模式三層負(fù)載均衡網(wǎng)絡(luò)層通過一個虛擬IP地址接收請求,然后再分配到后端真實的IP地址LVSTUNNEL模式(IP隧道)四層負(fù)載均衡傳輸層通過虛擬IP+端口接收請求,然后再轉(zhuǎn)發(fā)到后端真實的服務(wù)器F5、LVSNAT、HAProxy、Nginx、SLB七層負(fù)載均衡應(yīng)用層通過虛擬的URL、IP或主機名接收請求,然后再轉(zhuǎn)發(fā)到后端真實的服務(wù)器F5、LVSNAT、HAProxy、Nginx、SLBDNS

一個域名有多個A解析、智能解析萬網(wǎng)、DNSPod1.3負(fù)載均衡1.3.1負(fù)載均衡的分類表中還有除OSI七層模型外的DNS模式,在實際應(yīng)用中使用DNS做負(fù)載均衡是常用的方式。負(fù)載均衡器通常被稱為四層交換機或七層交換機。四到七層負(fù)載均衡就是依據(jù)四層或七層信息向后端服務(wù)器集群轉(zhuǎn)發(fā)流量,起到負(fù)載均衡的作用。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類1.四層負(fù)載均衡四層負(fù)載均衡是基于IP和端口的負(fù)載均衡,即通過發(fā)布三層的IP地址(虛擬IP)和四層的端口號,來對流量做負(fù)載均衡和分發(fā)處理,轉(zhuǎn)發(fā)到后端服務(wù)器,并且記錄該TCP或UDP協(xié)議的流量到達(dá)的服務(wù)器,下次仍由此臺服務(wù)器處理?;谒膶拥呢?fù)載均衡可達(dá)到每秒幾十萬的處理量,效率更高。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類2.七層負(fù)載均衡七層負(fù)載均衡是根據(jù)用戶請求的內(nèi)容等應(yīng)用層信息為其分配相對應(yīng)的后端服務(wù)器,在這種模式下可以在同一端口下同時運行多個Web服務(wù)器。例如,同一個Web服務(wù)器的負(fù)載均衡,在根據(jù)VIP(虛擬IP)和80端口判斷應(yīng)處理得流量的同時,還能夠根據(jù)七層的瀏覽器類別、語言、URL來決定是否進行負(fù)載均衡,如果用戶的語言為中文,則轉(zhuǎn)發(fā)至中文服務(wù)器進行處理。四層負(fù)載均衡不理解如HTTP、FTP等應(yīng)用協(xié)議,而七層負(fù)載均衡能理解應(yīng)用協(xié)議。基于七層的負(fù)載均衡需要完成兩次TCP連接,第一次是客戶端與負(fù)載均衡器,第二次是負(fù)載均衡器與真實服務(wù)器。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類2.七層負(fù)載均衡七層負(fù)載均衡,又被稱為“內(nèi)容交換”,主要面向來自客戶端的應(yīng)用層內(nèi)容,在負(fù)載均衡器設(shè)定的調(diào)度算法的基礎(chǔ)上進行流量分發(fā),即按需分發(fā)。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類2.七層負(fù)載均衡例如一個網(wǎng)站,將對圖片類的請求轉(zhuǎn)發(fā)到特定的圖片服務(wù)器并可以使用緩存技術(shù);將對文字類的請求轉(zhuǎn)發(fā)到特定的文字服務(wù)器并可以使用壓縮技術(shù)。當(dāng)用戶訪問網(wǎng)站圖片時,反向代理將請求發(fā)送給圖片服務(wù)器,當(dāng)用戶訪問網(wǎng)站文字類內(nèi)容時,反向代理便將請求發(fā)送給儲存文字類內(nèi)容的服務(wù)器。從技術(shù)原理的方面講,這種方式可以對客戶端的請求和服務(wù)器的響應(yīng)進行任何意義上的修改,極大地提升了應(yīng)用系統(tǒng)在網(wǎng)絡(luò)層的靈活性。很多在后臺服務(wù)器(例如Nginx、Apache等)上部署的功能可以前移到負(fù)載均衡設(shè)備上,例如客戶請求中的Header重寫,服務(wù)器響應(yīng)中的關(guān)鍵字過濾或者內(nèi)容插入等功能。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類2.七層負(fù)載均衡負(fù)載均衡設(shè)備如果要根據(jù)真正的應(yīng)用層請求內(nèi)容選擇服務(wù)器,需要先代理最終處理請求的服務(wù)器與客戶端建立TCP連接(三次握手),才可以接收到客戶端發(fā)送的包含應(yīng)用層內(nèi)容的報文,然后再根據(jù)該報文中的特定字段以及負(fù)載均衡的調(diào)度算法,選擇處理請求的服務(wù)器。負(fù)載均衡設(shè)備在這種情況下,類似于一個代理服務(wù)器,負(fù)載均衡會與客戶端、處理請求的服務(wù)器分別建立TCP連接。所以從技術(shù)原理上來看,七層負(fù)載均衡明顯對負(fù)載均衡設(shè)備的要求更高,處理七層請求的速度也必然會低于四層。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類七層負(fù)載均衡的優(yōu)勢。通過對HTTP報頭的檢查,可以檢測出HTTP4xx、5xx和6xx系列的錯誤信息,之后便可以將請求重新發(fā)送到另一臺服務(wù)器,能夠有效避免應(yīng)用層故障??梢詫φ埱蟮臄?shù)據(jù)類型(如判斷數(shù)據(jù)包是圖像文件、壓縮文件或多媒體文件格式等)進行判斷,把請求分發(fā)給相應(yīng)的服務(wù)器來處理,增加系統(tǒng)性能。能根據(jù)連接請求的類型進行流量分發(fā)。能夠判斷來自客戶端的請求類型是普通文本、圖像等靜態(tài)文檔請求,還是asp、cgi等動態(tài)文檔請求,把相應(yīng)的請求轉(zhuǎn)發(fā)給相應(yīng)的服務(wù)器來處理,提高系統(tǒng)的性能及安全性。1.3負(fù)載均衡1.3.1負(fù)載均衡的分類七層負(fù)載均衡的劣勢。七層負(fù)載均衡受到其所支持的協(xié)議(例如HTTP協(xié)議)限制的同時,也限制了它應(yīng)用的廣泛性,并且檢查HTTP報頭會占用大量的系統(tǒng)資源,勢必會影響到系統(tǒng)的性能,在高并發(fā)時,負(fù)載均衡設(shè)備自身很容易成為網(wǎng)絡(luò)整體性能的瓶頸。1.3負(fù)載均衡1.3.2四層和七層

負(fù)載均衡的區(qū)別1.技術(shù)原理的區(qū)別四層負(fù)載均衡主要通過客戶端請求報文中的目標(biāo)地址和端口,再根據(jù)負(fù)載均衡器選擇的轉(zhuǎn)方式,決定最終的真實服務(wù)器。1.3負(fù)載均衡1.3.2四層和七層

負(fù)載均衡的區(qū)別1.技術(shù)原理的區(qū)別七層負(fù)載均衡主要通過報文中的應(yīng)用層信息,再根據(jù)負(fù)載均衡器選擇的轉(zhuǎn)發(fā)方式,決定最終的真實服務(wù)器。1.3負(fù)載均衡1.3.2四層和七層

負(fù)載均衡的區(qū)別2.應(yīng)用場景的需求四層負(fù)載均衡適用于TCP應(yīng)用,比如基于C/S開發(fā)的ERP等系統(tǒng)。四層負(fù)載均衡比七層處理效率高,更適用于網(wǎng)絡(luò)吞吐量和并發(fā)量高的集群,可作為多種軟件的負(fù)載均衡器。七層負(fù)載均衡使得整個網(wǎng)絡(luò)更加“智能化”,功能多,控制靈活,可根據(jù)用戶訪問內(nèi)容,將訪問請求轉(zhuǎn)發(fā)到相應(yīng)服務(wù)器,例如訪問圖片,負(fù)載均衡器會轉(zhuǎn)發(fā)到圖片服務(wù)器,極大地提高了應(yīng)用系統(tǒng)在網(wǎng)絡(luò)層的靈活性。1.3負(fù)載均衡1.3.2四層和七層

負(fù)載均衡的區(qū)別3.安全性均衡網(wǎng)絡(luò)中常見的黑客攻擊,即黑客控制的眾多源客戶端,也叫作SYNFlood攻擊。黑客會通過虛假IP向一個目標(biāo)發(fā)送SYN攻擊,發(fā)送大量報文,不斷消耗服務(wù)器的相關(guān)資源,以致于服務(wù)器拒絕服務(wù)。四層負(fù)載均衡不能夠攔截SYN攻擊,會將攻擊轉(zhuǎn)發(fā)到后端服務(wù)器上,而七層負(fù)載均衡可以攔截SYN攻擊,不會影響后端服務(wù)器。七層負(fù)載均衡還可以設(shè)定安全策略,以過濾不安全報文,進一步提高系統(tǒng)的安全性。由此可見,七層負(fù)載均衡比四層負(fù)載均衡安全性更高。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式HTTP重定向DNS負(fù)載均衡反向代理負(fù)載均衡IP負(fù)載均衡數(shù)據(jù)鏈路層負(fù)載均衡F5硬件負(fù)載均衡1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式1.HTTP重定向HTTP重定向會根據(jù)客戶端應(yīng)用層的報文計算出一個真實的Web服務(wù)器IP地址,并將該IP地址寫入HTTP重定向響應(yīng)中返回給客戶端,客戶端收到重定向響應(yīng)之后再去訪問真實服務(wù)器。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式1.HTTP重定向用戶訪問例如的域名,經(jīng)DNS域名解析獲得的IP地址為00,即HTTP重定向服務(wù)器的IP地址。HTTP重定向服務(wù)器通過負(fù)載均衡算法,向客戶端響應(yīng)重定向至集群中實際服務(wù)器的地址03,用戶瀏覽器再向真實地址發(fā)出訪問請求,完成訪問。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式1.HTTP重定向這種工作方式雖然比較簡單,但客戶端需要發(fā)送多次請求才能完成一次成功的訪問,所以重定向方式實現(xiàn)的負(fù)載均衡性能較差。從另一方面講,HTTP重定向服務(wù)器自身的處理能力可能會成為瓶頸。使用HTTP302響應(yīng)重定向之后,有可能被搜索引擎判斷為SEO作弊,從而降低搜索排名。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式2.DNS方式DNS負(fù)責(zé)提供域名到IP解析的過程,這時DNS服務(wù)器也就充當(dāng)了負(fù)載均衡,很多域名運營商提供的智能DNS以及多線解析都是利用了DNS負(fù)載均衡的技術(shù),開源的Bind軟件就可提供電信聯(lián)通多線解析等強大的技術(shù)。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式2.DNS方式解析百度的域名[root@qfedu~]#dig

;<<>>DiG9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.7<<>>;;globaloptions:+cmd;;Gotanswer:;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:62441;;flags:qrrdra;QUERY:1,ANSWER:2,AUTHORITY:0,ADDITIONAL:1

;;OPTPSEUDOSECTION:;EDNS:version:0,flags:;MBZ:0x0005,udp:4096;;QUESTIONSECTION:;.INA

;;ANSWERSECTION:.5INA51.5INA48

;;Querytime:3msec;;SERVER:#53();;WHEN:五11月2600:28:47EST2021;;MSGSIZErcvd:701.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式2.DNS方式解析百度的域名百度的域名解析其實是一對多的形式。例如一個域名對應(yīng)一組web服務(wù)器IP地址,域名解析時經(jīng)過DNS服務(wù)器的算法將一個域名請求分配到合適的真實服務(wù)器上。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式2.DNS方式DNS服務(wù)器寫入多條A記錄:INA01、INA02、INA03。用戶請求域名解析,DNS服務(wù)器根據(jù)A記錄采用負(fù)載均衡算法向用戶返回真實物理服務(wù)器IP地址,用戶瀏覽器重新請求該IP地址。

DNS域名解析常作為第一級負(fù)載均衡器。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式2.DNS方式DNS負(fù)載均衡的控制權(quán)在于域名服務(wù)商,網(wǎng)站管理者可能無法做出過多的改善和管理,且不能夠按照服務(wù)器的處理能力來分配負(fù)載。DNS負(fù)載均衡采用的是簡單的輪詢算法,不能區(qū)分服務(wù)器之間的差異,不能反映服務(wù)器當(dāng)前運行狀態(tài),所以實現(xiàn)負(fù)載均衡的效果并不是很好。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式DNS實現(xiàn)負(fù)載均衡的方式的優(yōu)缺點如下。優(yōu)點:將負(fù)載均衡的工作交給了DNS,省卻了網(wǎng)站管理維護負(fù)載均衡服務(wù)器的麻煩,同時許多DNS還支持基于地理位置的域名解析,將域名解析成距離用戶地理最近的一個服務(wù)器地址,加快訪問速度,改善性能。缺點:目前的DNS解析是多級解析,每一級DNS都可能對A記錄進行緩存,當(dāng)某一服務(wù)器下線后,該服務(wù)器對應(yīng)的DNS記錄A可能仍然存在,導(dǎo)致分配到該服務(wù)器的用戶訪問失敗。為了使本DNS服務(wù)器和其他DNS服務(wù)器及時交互,保證DNS數(shù)據(jù)及時更新,使地址能隨機分配,一般都要將DNS的刷新時間設(shè)置得較小,但太小將會使DNS流量大增造成額外的網(wǎng)絡(luò)問題。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式3.反向代理方式反向代理部署在Web服務(wù)器前面,提供負(fù)載均衡的功能,同時管理著一組Web服務(wù)器,根據(jù)負(fù)載均衡算法將訪問請求轉(zhuǎn)發(fā)給不同的Web服務(wù)器,處理結(jié)果經(jīng)過反向代理返回給瀏覽器。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式3.反向代理方式客戶端請求的地址是反向代理服務(wù)器的地址0,反向代理服務(wù)器收到請求后,經(jīng)過負(fù)載均衡算法計算得到一個真實物理地址(Web服務(wù)器地址),并將請求轉(zhuǎn)發(fā)給真實服務(wù)器,真實服務(wù)器處理完成后通過反向代理服務(wù)器返回給客戶端。因為反向代理服務(wù)器轉(zhuǎn)發(fā)請求是在HTTP協(xié)議層面的,所以又叫做應(yīng)用層負(fù)載均衡。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式4.IP負(fù)載方式IP負(fù)載均衡是在網(wǎng)絡(luò)層和傳輸層(IP和端口)通過修改目標(biāo)地址進行負(fù)載均衡。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式4.IP負(fù)載方式客戶端的請求到達(dá)負(fù)載均衡服務(wù)器時,負(fù)載均衡服務(wù)器在讀取報文之后根據(jù)算法得到一臺真實服務(wù)器地址,然后將用戶請求的目標(biāo)地址修改成該真實服務(wù)器地址,由真實服務(wù)器處理請求,請求處理完后返回給負(fù)載均衡服務(wù)器,負(fù)載均衡服務(wù)器收到響應(yīng)后將響應(yīng)報文的目標(biāo)地址修改為客戶端地址后再將數(shù)據(jù)返回給客戶端。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式4.IP負(fù)載方式該方法比起反向代理方式響應(yīng)請求的速度要更快,處理性能更好。由于集群最大相應(yīng)數(shù)據(jù)吞吐量受制于負(fù)載均衡服務(wù)器的網(wǎng)卡帶寬,難以滿足提供下載服務(wù)或視頻服務(wù)等需要大量數(shù)據(jù)傳輸?shù)木W(wǎng)站。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式5.鏈路層負(fù)載方式網(wǎng)絡(luò)中的每臺設(shè)備都有一個唯一的網(wǎng)絡(luò)標(biāo)識,這個地址叫MAC地址或網(wǎng)卡地址。數(shù)據(jù)鏈路層負(fù)載均衡是在數(shù)據(jù)鏈路層修改MAC地址進行負(fù)載均衡。1.3負(fù)載均衡1.3.3負(fù)載均衡的主要方式5.鏈路層負(fù)載方式負(fù)載均衡服務(wù)器的IP和它所管理的web服務(wù)集群的虛擬IP一致;負(fù)載均衡數(shù)據(jù)分發(fā)過程中不修改訪問地址的IP地址,而是修改MAC地址;通過這兩點達(dá)到不修改數(shù)據(jù)包的原地址和目標(biāo)地址就可以進行正常的訪問。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法醫(yī)院的掛號機為看診的患者進行排號,便于不同患者的需求盡快得到處理。掛號機內(nèi)部設(shè)有一定的處理機制進行業(yè)務(wù)窗口的排序及分配,這種用系統(tǒng)的方法描述解決問題的策略機制就叫做算法。不管網(wǎng)站采取哪種模式做負(fù)載均衡,都需要設(shè)定算法指定調(diào)度策略。負(fù)載均衡算法主要分為靜態(tài)和動態(tài)兩類。靜態(tài)負(fù)載均衡算法以固定的順序分配任務(wù),不考慮服務(wù)器的實時狀態(tài),如輪詢法、加權(quán)輪詢法等;動態(tài)負(fù)載均衡算法以服務(wù)器的實時負(fù)載狀態(tài)信息分配任務(wù),如最小連接法、加權(quán)最小連接法等。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法輪詢法加權(quán)輪詢法目標(biāo)地址哈希法源地址哈希法1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法輪詢法輪詢調(diào)度算法(RoundRobinScheduling,RR),調(diào)度器采用這種算法時,會將用戶請求無差別地按順序輪流分配到集群中的真實服務(wù)器上,不關(guān)心每個服務(wù)器上實際的連接數(shù)和當(dāng)前系統(tǒng)負(fù)載信息。假設(shè)現(xiàn)在后端有4臺真實服務(wù)器,前端負(fù)載均衡器收到9個用戶請求,暫時將這9個請求依次用1、2、3、4、5、6、7、8、9表示。若負(fù)載均衡器采用輪詢法進行任務(wù)的分配,這9個請求是什么分配結(jié)果呢?1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法第一個用戶請求將被分配給真實服務(wù)器1號機進行處理,第二個用戶請求將被分配給真實服務(wù)器2號機進行處理,依此類推。當(dāng)4臺服務(wù)器分配完畢時,第5個請求又將被分配給1號機進行處理。只要真實服務(wù)器的數(shù)量固定,每臺機器處理的請求序號也是固定的。輪詢法1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法加權(quán)輪詢法加權(quán)輪詢調(diào)度算法(WeightedRoundRobinScheduling,WRR),調(diào)度器采用這種算法時,會將用戶請求按照真實服務(wù)器不同的處理能力進行分配。給配置高、負(fù)載低的機器配置更高的權(quán)重,讓其處理更多的請求;而配置低、負(fù)載高的機器,給其分配較低的權(quán)重,降低其系統(tǒng)負(fù)載。按照權(quán)重進行任務(wù)的調(diào)度,可以保證請求分配的合理性。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法加權(quán)輪詢法若負(fù)載均衡器采用加權(quán)輪詢法進行任務(wù)的分配,首先會在內(nèi)部生成一個服務(wù)器序列。每當(dāng)收到請求時,就依次從該序列中取出一個服務(wù)器用于處理用戶請求。比如現(xiàn)在有三臺真實服務(wù)器A、B、C,它們的處理能力分別為2,1,3,加權(quán)輪詢算法會生成序列{A,A,B,C,C,C}。這樣,每收到6個客戶端的請求,服務(wù)器會把其中的1個請求轉(zhuǎn)發(fā)給后端的B,把其中的2個請求轉(zhuǎn)發(fā)給后端的A,把其中的3個請求轉(zhuǎn)發(fā)給后端C。收到的第7個請求,重新從該序列的頭部開始輪詢。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法加權(quán)輪詢法總的來說,加權(quán)輪詢算法要生成一個服務(wù)器序列,該序列含N個服務(wù)器。N是所有真實服務(wù)器的權(quán)重之和。在這個序列中,將服務(wù)器的處理能力以一定的維度進行衡量,每個服務(wù)器的能力用數(shù)字量化為其權(quán)重值。同時在生成的序列中,服務(wù)器的分配應(yīng)該盡可能地均勻。比如序列{A,A,B,C,C,C}中,前2個請求都會分配給服務(wù)器A,這是一種不均勻的分配方法,更好的序列應(yīng)該是:{C,A,B,C,A,C}。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法目標(biāo)地址哈希法目標(biāo)地址哈希法(DestinationHashingScheduling,DH)是一種靜態(tài)映射算法,通過一個散列(Hash)函數(shù)將一個目標(biāo)IP地址映射到一臺服務(wù)器。服務(wù)器首先將用戶請求的目標(biāo)IP地址作為散列鍵(HashKey),再從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,如果該服務(wù)器是可用的且未超載,就將請求發(fā)送到該服務(wù)器,否則返回空。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法源地址哈希法源地址哈希法(SourceHashingScheduling,SH)也是一種靜態(tài)映射算法,通過一個散列(Hash)函數(shù)將一個源地址IP地址映射到一臺服務(wù)器。服務(wù)器首先將用戶請求的源IP地址(即客戶端地址)作為散列鍵(HashKey),再從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,如果該服務(wù)器是可用的且未超載,就將請求發(fā)送到該服務(wù)器,否則返回空。采用源地址哈希法進行負(fù)載均衡,源地址一樣的請求都會被分配到同一臺服務(wù)器進行處理,可以實現(xiàn)會話的粘滯性。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法源地址哈希法假設(shè)現(xiàn)在有A、B、C、D四臺真實服務(wù)器,隨機抽取之前處理過的9個請求,以序號1~9表示,查看實際對這9個請求進行處理的服務(wù)器。服務(wù)器A:1、7服務(wù)器B:2、3、4、5服務(wù)器C:9服務(wù)器D:6、8若該服務(wù)器采用的是源地址哈希法進行負(fù)載均衡,那么再次收到這9個請求源客戶端的請求時,實際處理請求的服務(wù)器是怎樣分配的呢?1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法采用源地址哈希法進行負(fù)載均衡,源地址一樣的請求都會被分配到同一臺服務(wù)器進行處理。但如果某個服務(wù)器出現(xiàn)故障,會導(dǎo)致這個服務(wù)器上的客戶端無法使用,無法保證高可用。當(dāng)某一用戶成為熱點用戶,將會有巨大的流量涌向這個服務(wù)器,導(dǎo)致負(fù)載分布不均衡,無法有效利用集群的性能。源地址哈希法1.3負(fù)載均衡1.3.4負(fù)載均衡的算法1.靜態(tài)負(fù)載均衡算法—優(yōu)缺點對比算法優(yōu)點缺點輪詢法簡單高效,易于水平擴展,每個服務(wù)器任務(wù)分配均衡無法保證任務(wù)分配的合理性,無法根據(jù)服務(wù)器承受能力來分配任務(wù)加權(quán)輪詢法可以將不同機器的性能問題納入考量范圍,集群性能最優(yōu)最大化服務(wù)器抗壓能力無法精確估量,靜態(tài)算法導(dǎo)致無法實時動態(tài)調(diào)整節(jié)點權(quán)重,只能粗糙優(yōu)化目標(biāo)地址哈希法根據(jù)用戶訪問的URL的哈希結(jié)果,使每個URL定向到同一個后端服務(wù)器上,假如某一個目標(biāo)服務(wù)器不可以,或者負(fù)載過高,那么會影響發(fā)往該目標(biāo)服務(wù)器的請求無法得到響應(yīng)。源地址哈希法源地址一樣的請求都會被分配到同一臺服務(wù)器進行處理,可以解決session會話共享的問題,實現(xiàn)會話粘滯1.由于用戶的活躍度不同,可能會有大量的活躍用戶被哈希到相同的服務(wù)器上,造成該服務(wù)器特別繁忙,大量的非活躍用戶被哈希到相同的服務(wù)器上,造成該服務(wù)器幾乎沒有請求,造成請求不均衡;2.一旦某個服務(wù)器掛掉,那么哈希到該服務(wù)器的所有源請求都會失敗,直到服務(wù)恢復(fù)或者服務(wù)器列表中去掉該服務(wù)器1.3負(fù)載均衡1.3.4負(fù)載均衡的算法2.動態(tài)負(fù)載均衡算法最小連接數(shù)法加權(quán)最小連接數(shù)法基于局部性的最少鏈接法帶復(fù)制的基于局部性最少鏈接法1.3負(fù)載均衡1.3.4負(fù)載均衡的算法2.動態(tài)負(fù)載均衡算法最小連接法最小連接法(LeastConnectionScheduling,LC),采用這種算法做負(fù)載均衡時,調(diào)度器會根據(jù)每個真實服務(wù)器當(dāng)前的連接情況,動態(tài)選取當(dāng)前連接數(shù)最小的服務(wù)器來處理當(dāng)前請求。最小連接法通過真實服務(wù)器當(dāng)前活躍的連接數(shù)來判斷真實服務(wù)器的情況,每當(dāng)真實服務(wù)器有新的連接或斷開連接時都需要進行計數(shù),調(diào)度器根據(jù)各個真實服務(wù)器的連接數(shù)合理進行任務(wù)的分配。在實際應(yīng)用中,同一集群的真實服務(wù)器具有相近的系統(tǒng)性能,對外提供的服務(wù)也一致,采用最小連接法可以較好地進行負(fù)載均衡。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法2.動態(tài)負(fù)載均衡算法最小連接法假設(shè)現(xiàn)在真實服務(wù)器組中有A、B、C、D四臺服務(wù)器,它們當(dāng)前的連接數(shù)分別是2、4、1、2,負(fù)載均衡采用的算法是最小連接法。若此時來了一個新的用戶請求,按照最小連接法的原則,該請求就會被分配至RS-C進行處理。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法2.動態(tài)負(fù)載均衡算法加權(quán)最小連接法加權(quán)最小連接法(WeightedLeastConnectionScheduling,WLC)在實現(xiàn)時增加了權(quán)重的計算,在LC算法的計算標(biāo)準(zhǔn)上除以權(quán)重,計算結(jié)果數(shù)值小的將接受下次訪問請求,是企業(yè)最常用的算法也是LVS的默認(rèn)算法。采用這種算法時,調(diào)度器可以自動問詢真實服務(wù)器的負(fù)載情況,并動態(tài)調(diào)整其權(quán)值。1.3負(fù)載均衡1.3.4負(fù)載均衡的算法2.動態(tài)負(fù)載均衡算法基于局部性的最少鏈接法基于局部性的最少鏈接法(Locality-BasedLeastConnectionsScheduling,LBLC)類似目標(biāo)地址哈希法,是針對目標(biāo)IP地址的負(fù)載均衡算法,調(diào)度器根據(jù)請求的目標(biāo)IP地址找出最近為該目標(biāo)IP地址服務(wù)的真實服務(wù)器,若該真實服務(wù)器是可用的且沒有超載,則將請求發(fā)送給該真實服務(wù)器,否則調(diào)度器將使用“最小連接”原則選出一個可用的真實服務(wù)器并將請求發(fā)送到該服務(wù)器,這種算法主要用于Cache集群系統(tǒng)。1.3負(fù)載均衡1.3.4

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論