集群與負載均衡,分布式計算入門學習

2022-05-05 01:06:11 字數 3166 閱讀 1643

1.集群的概念

計算機集群通過一組鬆散整合的計算機軟體和/或硬體連線起來高度緊密地協作完成計算工作。

是一組獨立的計算機系統構成乙個松耦合的多處理器系統,它們之間通過網路實現程序間的通訊,應用程式可以通過網路共享記憶體進行訊息傳送,實現分布式計算機。

比如單個重負載的 運算分擔到多台裝置上做並行處理,每個節點裝置處理結束後,將結果彙總,返回給使用者,系統處理能力得到大幅度提高,一般分為幾種:

***高可用性集群:一般是指當集群中某個節點失效的 情況下,其上的任務會自動轉移到其他正常的節點上,還指可以將集群中的某節點進行離線維護再上線,該過程不影響整個集群的執行;

***負載均衡集群:負載均衡集群執行時,一般通過乙個或多個前端負載均衡器,將工作負載分發到一組伺服器上,從而達到整個系統的高效能和高可用性;

***高效能計算集群:高效能計算集群採用將計算任務分配到集群的不同節點而提高計算能力,因而主要應用在科學計算領域;

2.負載均衡的概念:

它是利用乙個集群中的多台單機,完成許多並行的小的工作。一般情況下,如果乙個應用使用的人多了,那麼使用者請求的相應時間就會增大,機器的效能也會受到影響,如果使用負載均衡集群,那麼集群中任意一台機器都能響應使用者的請求,這樣集群就會在使用者發出服務請求之後,選擇當時負載最小,能夠提供最好的服務的這台機器來接受請求並響應,這樣就可以用集群來增加系統的可用性和穩定性。

3.分布式的概念:

集群:同乙個業務,部署在多個伺服器上。分布式:乙個業務分拆成多各子業務,或者本身就是不同的業務,部署在不同的伺服器上

4.負載均衡技術實現

負載均衡技術通過設定虛擬伺服器ip(vip),將後端多台真實伺服器的應用資源虛擬成一台高效能的應用伺服器,通過負載均衡演算法,將使用者的請求**給後台內網伺服器,內網伺服器將請求的響應返回給負載均衡器,負載均衡再將響應傳送給使用者,這樣向網際網路使用者隱藏了內部網路結構,阻止了使用者直接訪問後台(內網)伺服器,使得伺服器更加安全,可以阻止對核心網路棧和執行在其他埠服務的攻擊。

系統的擴充套件可分為縱向(垂直)擴充套件和橫向(水平)擴充套件。縱向擴充套件,是從單機的角度通過增加硬體處理能力,比如cpu處理能力,內容容量,磁碟等方面,實現伺服器處理能力的提公升,不能滿足大型分布式系統(**),大流量,高併發,海量資料的問題。因此需要採用橫向擴充套件的方式,通過新增機器來滿足大型**服務的處理能力,比如:一台機器不能滿足,則增加兩台或多台機器,共同承擔訪問壓力。

5.伺服器負載均衡的三大基本元素:負載均衡演算法,健康檢查和會話保持

負載均衡裝置的實現原理是把多台伺服器的位址對映成乙個對外的服務ip(我們稱之為vip,關於伺服器的對映可以直接將伺服器ip對映成vip位址,也可以將伺服器ip:port,不同的對映方式會採取相應的健康檢查,在埠對映時,伺服器端口與vip埠不相同),這個過程對使用者是不可見的,使用者實際上不知道伺服器是做了負載均衡的,因此他們訪問的還是乙個目的ip。

6.詳細的訪問流程:

負載均衡裝置在將資料報發給伺服器時,資料報是做了一些變化的,如上圖所示,資料報達到負載均衡裝置之前,源位址是:207.17.117.20,目的位址是:100.237.202.124,當負載均衡裝置將資料**給選中的伺服器時,源位址還是:207.17.117.20,目的位址變為172.16.20.1,我們稱這種方式為目的位址nat(dnat,目的位址轉換)。一般來說,在伺服器負載均衡中dnat是一定要做的(還有一種模式叫做伺服器直接返回--dsr,是不做dnat的),而源位址根據部署模式的不同,有時候也需要轉換成別的位址,我們稱之為:源位址nat(snat),一般來說,旁路模式需要做snat,而串接模式不需要,本示意圖為串接模式,所以源位址沒有做nat。

7.負載均衡演算法:

一般來說,負載均衡伺服器都會預設支援多種負載均衡分發策略,例如:

(2)比率:給每個伺服器分配乙個加權值為比例,根據這個比例,把使用者的請求分配到每個伺服器,當其中某個伺服器傳送故障,ax就把其從伺服器佇列中拿出,不參加下一次的使用者請求的分配,直到其恢復正常。

(3)優先權:給所有伺服器分組,給每個組定義優先權,將使用者的請求分配到優先順序最高的伺服器組(在同一組內,採用預先設定的輪詢或比率演算法,分配使用者的請求);當最高優先順序中所有伺服器或指定數量的伺服器出現故障,ax將把請求送給次級優先順序的伺服器組,這種方式,實際為使用者提供一種熱備份的方式。

(4)最少連線數:ax會記錄當前每台伺服器或者服務埠上的連線數,新的連線將傳遞給連線數最少的伺服器,當其中某個伺服器發生故障,ax就把其從伺服器佇列中拿出,不參與下一次的使用者請求的分配,直到其恢復正常。

(5)雜湊演算法:將客戶端的源位址,埠進行雜湊運算,根據運算的結果**給一台伺服器進行處理,當其中某個伺服器傳送故障,就把其從伺服器佇列中拿出,不參與下一次的 使用者請求的分配,直到其恢復正常。

(6)基於資料報的內容分發:例如判斷http的url,如果url中帶有.jpg的副檔名,就把資料報**到指定的伺服器。

8.健康檢查:

健康檢查用於檢查伺服器開放的各種服務的可用狀態,負載均衡裝置一般會配置各種健康檢查方法,例如ping,tcp,udp,http,ftp,dns等。ping屬於第三層的健康檢查,用於檢查伺服器ip的連通性,而tcp/udp屬於第四層的健康檢查,用於檢查服務埠的uo/down,如果要檢查的更準確,就要用到基於7層的健康檢查,例如建立乙個http健康檢查,get乙個頁面回來,並且檢查頁面內容是否包含乙個指定的字串,如果包含,則服務時up的,如果不包含或者取不回頁面,就認為該伺服器的web服務是不可到別的伺服器。比如,負載均衡裝置檢查到172.16.20.3這台伺服器的80埠是down的,負載均衡裝置將不把後面的連線**到這台伺服器,而是根據演算法將資料報**到別的伺服器。建立健康檢查時可以設定檢查的間隔時間和嘗試次數,例如設定間隔時間為5秒,嘗試次數為3次,那麼負載均衡裝置每隔5秒發起一次健康檢查,如果檢查失敗,則嘗試3次,如果3次都檢查失敗,則把該服務標記為down,然後伺服器仍然會每隔5秒對down的伺服器進行檢查,當某個時刻發現伺服器健康檢查又成功了,則把該伺服器重新標記為up。健康檢查的間隔和嘗試次數要根據綜合情況來設定,原則是既不會對業務產生影響,又不會對負載均衡裝置造成較大負擔。

9.會話保持

如何保證乙個使用者的兩次http請求**到同乙個伺服器,這就要求負載均衡裝置配置會話保持。

絕大部分的負載均衡裝置都支援兩大類基本的會話保持方式:源./目的位址會話保持和cookie會話保持,另外像hash,url persist等也比較常用的方式,但是所有裝置都支援,基於不同的應用要配置不同的會話保持,否則會引起負載的不均衡甚至訪問異常。

集群 分布式 負載均衡

1 linux集群主要分成三大類 高可用集群,負載均衡集群,科學計算集群 負載均衡集群 load balance cluster 負載均衡系統 集群中所有的節點都處於活動狀態,它們分攤系統的工作負載。一般web伺服器集群 資料庫集群和應用伺服器集群都屬於這種型別。負載均衡集群一般用於相應網路請求的網...

集群,負載均衡,分布式

簡潔明瞭的解釋 記錄一下 集群 一堆伺服器互聯 負載均衡 一堆伺服器分攤壓力 分布式 一堆伺服器分開工作 相對來說,集群一般是指一堆伺服器去做同一項工作,一般是集中高速互聯實現快速的運算,對外的感覺是一台伺服器。負載均衡也是一堆伺服器做同一項工作,不同的伺服器做的事情基本相同,但是對外能發現是不同的...

集群 分布式 負載均衡

計算機集群通過一組鬆散整合的計算機軟體和 或硬體連線起來高度緊密地協作完成計算工作。集群系統中的單個計算機通常稱為節點。集群計算機通常用來改進單個計算機的計算速度和可靠性。單個重負載的運算分擔到多台節點裝置上做並行處理,每個節點裝置處理結束後,將結果彙總,返回給使用者,系統處理能力得到大幅度提高。乙...