面向面試程式設計 概念之 分布式與集群的區別和聯絡

2022-01-15 03:08:30 字數 2476 閱讀 8502

x

一句話:分布式是併聯工作的,集群是串聯工作的。

分布式中的每乙個節點,都可以做集群。 而集群並不一定就是分布式的。

而分布式,從窄意上理解,也跟集群差不多, 但是它的組織比較鬆散,不像集群,有乙個組織性,一台伺服器垮了,

其它的伺服器可以頂上來。

分布式的每乙個節點,都完成不同的業務,乙個節點垮了,哪這個業務就不可訪問了。

簡單的例子說明一下:

如果乙個任務由10個子任務組成,每個子任務單獨執行需1小時,

則在一台伺服器上執行該任務需10小時。

採用分布式方案,提供10臺伺服器,每台伺服器只負責處理乙個子任務,

不考慮子任務間的依賴關係,執行完這個任務只需乙個小時。

(這種工作模式的乙個典型代表就是hadoop的map/reduce分布式計算模型)

而採用集群方案,同樣提供10臺伺服器,每台伺服器都能獨立處理這個任務。

假設有10個任務同時到達,10個伺服器將同時工作,1小時後,10個任務同時完成,

這樣,整身來看,還是1小時內完成乙個任務!

集群是一組協同工作的服務實體,用以提供比單一服務實體更具擴充套件性與可用性的服務平台。

在客戶端看來,乙個集群就象是乙個服務實體,但事實上集群由一組服務實體組成。

與單一服務實體相比較,集群提供了以下兩個關鍵特性:

a.可擴充套件性:集群的效能不限於單一的服務實體,新的服務實體可以動態地加入到集群,從而增強集群的效能。

b.高可用性:集群通過服務實體冗餘使客戶端免於輕易遇到out of service的警告。

在集群中,同樣的服務可以由多個服務實體提供。如果乙個服務實體失敗了,另乙個服務實體會接管失敗的服務實體。

集群提供的從乙個出 錯的服務實體恢復到另乙個服務實體的功能增強了應用的可用性。

為了具有可擴充套件性和高可用性特點,集群的必須具備以下兩大能力:

a.負載均衡:負載均衡能把任務比較均衡地分布到集群環境下的計算和網路資源。

b.錯誤恢復:由於某種原因,執行某個任務的資源出現故障,

另一服務實體中執行同一任務的資源接著完成任務。

這種由於乙個實體中的資源不能工作,

另乙個實體中的資源透明的繼續完成任務的過程叫錯誤恢復。

負載均衡和錯誤恢復都要求各服務實體中有執行同一任務的資源存在,

而且對於同一任務的各個資源來說,執行任務所需的資訊檢視(資訊上下文)必須是一樣的。

實現集群務必要有以下兩大技術:

具有單一集群位址(也叫單一影像)是集群的乙個基 本特徵。

維護集群位址的設定被稱為負載均衡器。

負載均衡器內部負責管理各個服務實體的加入和退出,外部負責集群位址向內部服務實體地址的轉換。

有的負載均 衡器實現真正的負載均衡演算法,有的只支援任務的轉換。

只實現任務轉換的負載均衡器適用於支援active-standby的集群環境,

在那裡,集群中只有 乙個服務實體工作,

當正在工作的服務實體發生故障時,負載均衡器把後來的任務轉向另外乙個服務實體。

b.內部通訊:為了能協同工作、實現負載均衡和錯誤恢復,集群各實體間必須時常通訊,

比如負載均衡器對服務實體心跳測試資訊、服務實體間任務執行上下文資訊的通訊。

具有同乙個集群位址使得客戶端能訪問集群提供的計算服務,

乙個集群位址下隱藏了各個服務實體的內部位址,

使得客戶要求的計算服務能在各個服務實體之間分布。

內部通訊是集群能正常運轉的基礎,它使得集群具有均衡負載和錯誤恢復的能力。

linux集群主要分成三大類( 高可用集群, 負載均衡集群,科學計算集群)

常見的就是2個節點做成的ha集群,有很多通俗的不科學的名稱,比如"

雙機熱備

", "

雙機互備

", "雙機"

.高可用集群解決的是保障使用者的應用程式持續對外提供服務的能力。

(請注意高可用集群既不是用來保護業務資料的,

保護的是使用者的業務程式對外不間斷提供服務,

把因軟體/硬體/人為造成的故障對業務的影響降低到最小程度)。

負載均衡系統:集群中所有的節點都處於活動狀態,它們分攤系統的工作負載。

一般web伺服器集群、資料庫集群和應用伺服器集群都屬於這種型別。

負載均衡集群一般用於相應網路請求的網頁伺服器,資料庫伺服器。

這種集群可以在接到請求時,檢查接受請求較少,不繁忙的伺服器,

並把請求轉到這些伺服器上。從檢查其他伺服器狀態這一點上看,

負載均衡和容錯集群很接近,不同之處是數量上更多。

高效能計算(high perfermance computing)集群,簡稱hpc集群。

這類集群致力於提供單個計算機所不能提供的強大的計算能力。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支援指令碼之家!

x

分布式與集群的概念區別

分布式 乙個業務分拆多個子業務,部署在不同的伺服器上 集群 同乙個業務,部署在多個伺服器上 集群是解決高可用的 分布式是解決高效能 高併發的 小飯店原來只有乙個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房乙個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,這兩個廚師的關係是集群。為了讓廚師專心...

分布式與集群的概念區別

分布式 乙個業務分拆多個子業務,部署在不同的伺服器上 集群 同乙個業務,部署在多個伺服器上 集群是解決高可用的 分布式是解決高效能 高併發的 小飯店原來只有乙個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房乙個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,這兩個廚師的關係是集群。為了讓廚師專心...

分布式與集群

分布式架構 多個子系統相互協作才能完成業務流程。系統之間需要進行通訊。集群 同乙個工程部署到多台伺服器上。分布式架構 把系統按照模組拆分成多個子系統。優點 1 把模組拆分,使用介面通訊,降低模組之間的耦合度。2 把專案拆分成若干個子專案,不同的團隊負責不同的子專案。3 增加功能時只需要再增加乙個子專...