集羣和分佈式

集羣是個物理形態,分佈式是個工做方式。服務器

 

只要是一堆機器,就能夠叫集羣,他們是否是一塊兒協做着幹活,這個誰也不知道;架構

一個程序或系統,只要運行在不一樣的機器上,就能夠叫分佈式,嗯,C/S架構也能夠叫分佈式。併發

 

集羣通常是物理集中、統一管理的,而分佈式系統則不強調這一點。負載均衡

 


因此,集羣可能運行着一個或多個分佈式系統,也可能根本沒有運行分佈式系統;分佈式

分佈式系統可能運行在一個集羣上,也可能運行在不屬於一個集羣的多臺(2臺也算多臺)機器上。高併發

 

布式是相對中心化而來,強調的是任務在多個物理隔離的節點上進行。中心化帶來的主要問題是可靠性,若中心節點宕機則整個系統不可用,分佈式除了解決部分中心化問題,也傾向於分散負載,但分佈式會帶來不少的其餘問題,最主要的就是一致性。
集羣就是邏輯上處理同一任務的機器集合,能夠屬於同一機房,也可分屬不一樣的機房。分佈式這個概念能夠運行在某個集羣裏面,某個集羣也可做爲分佈式概念的一個節點。
一句話,就是:「分頭作事」與「一堆人」的區別oop

 

分佈式是指將不一樣的業務分佈在不一樣的地方。 而集羣指的是將幾臺服務器集中在一塊兒,實現同一業務。性能

舉例:就好比新浪網,訪問的人多了,他能夠作一個羣集,前面放一個響應服務器,部署

後面幾臺服務器完成同一業務,若是有業務訪問的時候,響應服務器看哪臺服務器的負載不是很重,就將給哪一臺去完成。

而分佈式,從窄意上理解,也跟集羣差很少, 可是它的組織比較鬆散,不像集羣,有一個組織性,it

一臺服務器垮了,其它的服務器能夠頂上來。

分佈式的每個節點,都完成不一樣的業務,一個節點垮了,哪這個業務就不可訪問了。

 

2:簡單說,分佈式是以縮短單個任務的執行時間來提高效率的,而集羣則是經過提升單位時間內執行的任務數來提高效率。

例如:

若是一個任務由10個子任務組成,每一個子任務單獨執行需1小時,則在一臺服務器上執行該任務需10小時。

採用分佈式方案,提供10臺服務器,每臺服務器只負責處理一個子任務,不考慮子任務間的依賴關係,
執行完這個任務只需一個小時。(這種工做模式的一個典型表明就是Hadoop的Map/Reduce分佈式計算模型)

而採用集羣方案,一樣提供10臺服務器,每臺服務器都能獨立處理這個任務。假設有10個任務同時到達,
10個服務器將同時工做,1小時後,10個任務同時完成,這樣,整身來看,仍是1小時內完成一個任務!

集羣通常被分爲三種類型,高可用集羣如RHCS、LifeKeeper等,負載均衡集羣如LVS等、高性能運算集羣;
分佈式應該是高性能運算集羣範疇內。
 
 
分佈式:不一樣的業務模塊部署在不一樣的服務器上或者同一個業務模塊分拆多個子業務,部署在不一樣的服務器上,解決高併發的問題 集羣:同一個業務部署在多臺機器上,提升系統可用性
相關文章
相關標籤/搜索