1. 程式人生 > >分散式開發和叢集區別

分散式開發和叢集區別

分散式是指將不同的業務分佈在不同的地方。

在這裡插入圖片描述

叢集指的是將幾臺伺服器集中在一起,實現同一業務。

在這裡插入圖片描述

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

上面的分散式開發案例中,每一個功能(A-D功能)都可以建立一個叢集,某一個功能的伺服器垮了,其它的伺服器可以頂上來。

叢集是個物理形態,分散式是個工作方式。

分散式是以縮短單個任務的執行時間來提升效率的;

叢集則是通過提高單位時間內執行的任務數來提升效率。

比如:
如果一個任務由10個子任務組成,每個子任務單獨執行需1小時,則在一臺伺服器上執行該任務需10小時。

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

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