閱讀89 返回首頁    go 阿裏雲 go 技術社區[雲棲]


集群和分布式初探

一.概念

集群:

在計算機科學中,分布式計算(英語:Distributed computing),又譯為分散式運算。這個研究領域,主要研究分布式係統(Distributed system)如何進行計算。分布式係統是一組電腦(computer),通過網絡相互鏈接傳遞消息與通信後並協調它們的行為而形成的係統。組件之間彼此進行交互以實現一個共同的目標。把需要進行大量計算的工程數據分區成小塊,由多台計算機分別計算,再上傳運算結果後,將結果統一合並得出數據結論的科學。

分布式:

計算機集群簡稱集群是一種計算機係統,它通過一組鬆散集成的計算機軟件和/或硬件連接起來高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一台計算機。集群係統中的單個計算機通常稱為節點,通常通過局域網連接,但也有其它的可能連接方式。集群計算機通常用來改進單個計算機的計算速度和/或可靠性。一般情況下集群計算機比單個計算機,比如工作站或超級計算機性能價格比要高得多。 計算機集群的特點: 1. 通過多台計算機完成同一個工作。達到更高的效率。 2. 兩機或多機內容、工作過程等完全一樣。如果一台死機,另一台可以起作用。

 來源官網:www.fhadmin.org - 維基百科

  分布式就是將一個任務分攤到不同的節點共同完成,這幾個節點是協同工作的,存在互相依賴的關係,其中一個掛掉了有可能使得其他節點都不能工作;而集群就是多個節點執行相同的任務,互不幹擾,就像飯堂的窗口,每個窗口的職能都是一樣的,在哪個窗口都能達到目的,隨便關了哪個窗口都可以,隻要還有窗口可用,客人就能排隊打飯。

 

  所以,集群是個物理形態,指同一業務同時部署在多個服務器上,解決可靠性的問題.

  分布式是種工作方式,把一個業務分拆成多個子業務,部署在不同的服務器上,即分解任務,將職能拆解,解決高性能、高並發的問題.

二.側重點及關係

  集群強調物理集中、統一管理、任務同一.集群中可能運行著一個或多個分布式係統,也可能一個都沒運行.

  分布式強調機器間的協作,其重點是任務可拆分.可能運行在一個集群上,也可能運行在不屬於一個集群的多台(2台也算多台)機器上。

  集群中如果某台服務器掛了(硬件、軟件、人為),那麼其它的相關服務器就會接管這個業務,依舊能提供服務.

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

三.舉個栗子

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

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

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

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

最後更新:2017-07-23 20:40:57

  上一篇:go  Spring Boot 熱部署
  下一篇:go  互聯網業務場景下消息隊列架構