分佈式和集羣

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

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

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

 

 

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

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

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

 

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

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

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

 將一套系統拆分成不同子系統部署在不同服務器上(這叫分佈式),然後部署多個相同的子系統在不同的服務器上(這叫集羣),部署在不同服務器上的同一個子系統應做負載均衡。 

 

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章