文章出處

集群是個物理形態,分布式是個工作方式。

  • 分布式:一個業務分拆多個子業務,部署在不同的服務器上
  • 集群:同一個業務,部署在多個服務器上

1:分布式是指將不同的業務分布在不同的地方。而集群指的是將幾臺服務器集中在一起,實現同一業務。

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

舉例:就比如新浪網,訪問的人多了,他可以做一個群集,前面放一個響應服務器,后面幾臺服務器完成同一業務,如果有業務訪問的時候,響應服務器看哪臺服務器的負載不是很重,就將給哪一臺去完成。

而分布式,從窄意上理解,也跟集群差不多,但是它的組織比較松散,不像集群,有一個組織性,一臺服務器垮了,其它的服務器可以頂上來。

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

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

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

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

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


好的設計應該是分布式和集群的結合,先分布式再集群,具體實現就是業務拆分成很多子業務,然后針對每個子業務進行集群部署,這樣每個子業務如果出了問題,整個系統完全不會受影響。

以上摘自:分布式與集群的區別是什么? 分布式概念參考:分布式系統的特點以及設計理念

另外,還有一個概念和分布式比較相似,那就是微服務。

微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。在所有情況下,每個任務代表著一個小的業務能力。

微服務概念參考:解析微服務架構(一):什么是微服務


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()