分佈式與集群的區別是什麼?

汪青蘭

“我是喲喲吼說科技,專注於數據網絡的回答,歡迎大家與我交流數據網絡的問題”

分佈式是指將不同功能,或不同地點,或擁有不同數據的多臺計算機通過網絡連接起來,由控制系統統一管理,完成大規模信息處理的計算機系統。

集群是指將多臺服務器集中在一起提供同一種服務,在邏輯上可以看做是一臺服務器對外進行服務,這些服務器組合就是集群。

如題,分佈式和集群的區別是什麼?

喲喲簡單總結一句話:分佈式是“並聯”工作的,集群是“串聯”工作的。

下面喲喲來具體介紹一下兩者的區別:

1、從概念上就可以看出兩者最主要的區別就是分佈式是將一種業務拆分成多個子業務部署在多臺服務器上,進而對外提供服務;而集群就是將多臺服務器組合在一起提供同一種服務;

2、集群強調在多臺服務器位置集中,並且容易統一管理;而分佈式沒有具體要求,不論放置在哪個位置,只要通過網絡連接起來就行;

3、集群是一種物理形態,即多臺服務器在一起提供一種服務;而分佈式是一種工作方式,即一個程序或業務分解到多臺服務器分別完成;

總之,兩者最明顯的區別還是集群是多臺服務器做相同類型的任務,分佈式是多臺服務器協同做一種任務。


喲喲吼說科技

從工作形式來說:

分佈式是將一個業務分拆為多個子業務,部署在不同的服務器上。

集群是將多臺服務器集中在一起,實現同一業務。


從解決問題的角度來說:

分佈式是研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配為許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。

分佈式是以縮短單個任務的執行時間來提升效率的,任務具有差異性。


集群是一組計算機作為一個整體向用戶提供一組網絡資源,這些單個的計算機系統就是集群的節點。一個理想的集群是,用戶從來不會意識到集群系統底層的節點,在他們看來,集群是一個系統,而非多個計算機系統,並且集群系統的管理員可以隨意增加和刪改集群系統的節點。

集群是以提高單位時間內執行的任務數來提升效率的,任務具有同一性。


從特點來看:

分佈式:

  • 橫向擴展性強

橫向可擴展性是指通過增加服務器數量來提升整體性能,縱向可擴展性是指提升每臺服務器性能進而提升總體性能。縱向可擴展性的上限非常明顯,因為單臺服務器的性能不可能無限提升,而橫向可擴展性的上限空間比較大,分佈式又恰恰總能很方便地增加服務器。


  • 廉價高效

這是分佈式系統的突出特點,成本低廉的PC服務器組成的分佈式,在性能方面能達到超越大型機的處理性能,在成本上遠低於大型機。


  • 網絡開銷大

網絡開銷是分佈式系統最大的瓶頸。


集群:

  • 可擴展性

集群的性能不限於單一的服務實體,新的服務實體可以動態地加入到集群,從而增強集群的性能。


  • 高可用性

在集群中,同樣的服務可以由多個服務實體提供,如果一個服務實體失敗了,另一個服務實體會接管失敗的服務實體,服務實體冗餘保證了錯誤恢復能力,增強了系統的可用性。


  • 負載均衡

負載均衡能把任務比較均衡地分佈到集群環境下的計算和網絡資源。


分佈式與集群間的區別聯繫:

分佈式中的每一個節點,可以做高可用集群,這樣可以保證分佈式每個節點可用。而集群並不一定就是分佈式的。


雲匯天下Chainedbox

簡單來解釋:

一個任務,只有一個服務器來運行,這個服務器會累成狗;(單機結構)

多個累成狗的服務器組合在一起運行,就可以叫集群,他們是不是一起協作著幹活,這個誰也不知道;(集群結構)

基因優化整合之後,多個服務器被拆分到運行在不同的機器上,就像一群小小的服務器一起工作,(分佈式結構)

要充分理解這個概念,首先先明白什麼是單機結構

普通的軟件是運行在一臺物理機器上的,一個系統業務量很小的時候,可以將所有的代碼都放在一個項目中,然後部署在一臺服務器上,這臺服務器提供整個項目所有的服務。單機結構的啥缺點顯而易見,因為它的處理能力是有限的,當業務增長到一定程度的時候,單機的硬件資源將無法滿足。

此時便出現了集群模式,單機處理到達瓶頸的時候,你就把單機複製幾份,這樣就構成了一個“集群”。集群中每臺服務器就叫做這個集群的一個“節點”,所有節點構成了一個集群。每個節點都提供相同的服務,那麼這樣系統的處理能力就相當於提升了好幾倍。

分佈式結構就是將一個完整的系統,按照業務功能,把一個服務系統拆分成一個個獨立的子系統,在分佈式結構中,每個子系統就被稱為“服務”。這些子系統能夠獨立運行在web容器中,它們之間通過RPC方式通信。


分享到:


相關文章: