半分鍾就懂 --- 分布式與集群是什么 ? 區別是什么?


一、大白話解說,半分鍾就懂,用生活中的例子來說明:

 

小飯店原來只有一個廚師,切菜洗菜備料炒菜全干。

后來客人多了,廚房一個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,兩個廚師的關系是集群。

為了讓廚師專心炒菜,把菜做到極致,再請了個配菜師負責切菜,備菜,備料 ...  廚師和配菜師的關系是分布式。

 

一個配菜師也忙不過來了,又請了個配菜師,兩個配菜師關系是集群。

一個配菜師因故請假了,但是其余的配菜師還是該啥就干啥,只是沒請假的配菜師任務均勻的加量了,但他們的任務和職責是不變的,這是集群。

 

集群:多個人在一起作同樣的事 。

分布式 :多個人在一起作不同的事 。

 

 

二、圖解:

 

 

以下內容是個人整理的:

三、區別聯系 (其實上面的內容應該已經讓你理解2者了)

 

1)我記得在一本講 tcp/ip 的書上有這樣一句話:分布式是指 多個系統協同合作完成一個特定任務的系統。

分布式是解決中心化管理的問題,把所有的任務疊加到一個節點處理,太慢了。

所以把一個大的問題拆分為多個小的問題,並分別解決,最終協同合作。分布式的主要工作是分解任務,將職能拆解。

 

2) 集群主要的使用場景是為了分擔請求的壓力,也就是在幾個服務器上部署相同的應用程序,來分擔客戶端請求。

當壓力進一步增大的時候,可能在需要存儲的部分,mysql 無法面對很多的寫壓力。因為在 mysql 做成集群之后,主要的寫壓力還是在 master 的機器上面,其他 slave 機器無法分擔寫壓力,從而這個時候,也就引出來分布式。

分布式的主要應用場景是單台機器已經無法滿足這種性能的要求,必須要融合多個節點,並且節點之間是相關之間有交互的。相當於在寫 mysql 的時候,每個節點存儲部分數據,也就是分布式存儲的由來。存儲一些非結構化數據:靜態文件、圖片、pdf、小視頻 ... 這些也就是分布式文件系統的由來。

 

3)集群主要是簡單加機器解決問題,對於問題本身不做任何分解;

分布式處理里必然包含任務分解與答案歸並。分布式中的某個子任務節點,可能由一個集群來代替;集群中任一節點,都是做一個完整的任務。

集群和分布式都是由多個節點組成,但是集群之間的通信協調基本不需要;而分布式各個節點的通信協調必不可少。

 將一套系統拆分成不同子系統部署在不同服務器上(這叫分布式),

 然后部署多個相同的子系統在不同的服務器上(這叫集群),部署在不同服務器上的同一個子系統應做負載均衡。 

 

分布式:一個業務拆分為多個子業務,部署在多個服務器上 。 

集群:同一個業務,部署在多個服務器上 。

 

參考:https://www.zhihu.com/question/20004877


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM