mysql的集群和分布式区别_集群和分布式的区别
簡單概括:
集群:多個人在一起做同樣的事 。
分布式 :多個人在一起做不同的事 。
負載均衡:決定將任務以某種規則分給誰做。
詳細分析
(1)分布式是指多個系統協同合作完成一個特定任務的系統。
分布式是解決中心化管理的問題,把所有的任務疊加到一個節點處理,太慢了。
所以把一個大的問題拆分為多個小的問題,并分別解決,最終協同合作。分布式的主要工作是分解任務,將職能拆解。
中心化帶來的主要問題是可靠性,若中心節點宕機則整個系統不可用,分布式除了解決部分中心化問題,也傾向于分散負載,但分布式會帶來很多的其他問題,最主要的就是一致性。
(2)集群主要的使用場景是為了分擔請求的壓力,也就是在幾個服務器上部署相同的應用程序,配合負載均衡來分擔客戶端請求。
當壓力進一步增大的時候,可能在需要存儲的部分,mysql無法面對很多的寫壓力。因為在mysql做成集群之后,主要的寫壓力還是在master的機器上面,其他slave機器無法分擔寫壓力,從而這個時候,也就引出來分布式。
分布式的主要應用場景是單臺機器已經無法滿足這種性能的要求,必須要融合多個節點,并且節點之間是相關之間有交互的。相當于在寫mysql的時候,每個節點存儲部分數據,也就是分布式存儲的由來。在存儲一些非結構化數據:靜態文件、圖片、pdf、小視頻 ... 這些也就是分布式文件系統的由來。
如:現在的Spring Cloud的分布式微服務架構,一個系統分解成了多個Spring Boot的微服務,各個微服務協同合作完成特定的任務。同個微服務又可以部署多臺服務器形成微服務集群,從而提供高可用服務。
3)集群主要是簡單加機器解決問題,對于問題本身不做任何分解;
分布式處理里必然包含任務分解與答案歸并。分布式中的某個子任務節點,可能由一個集群來代替;集群中任一節點,都是做一個完整的任務。
集群和分布式都是由多個節點組成,但是集群之間的通信協調基本不需要;而分布式各個節點的通信協調必不可少。
總結:
將一套系統拆分成不同子系統部署在不同服務器上(這叫分布式),然后部署多個相同的子系統在不同的服務器上(這叫集群),部署在不同服務器上的同一個子系統需要做負載均衡處理。
集群是個物理形態,分布式是個工作方式。
分布式:一個業務拆分為多個子業務,部署在多個服務器上 。
集群:同一個業務,部署在多個服務器上 。
分布式:不同的業務模塊部署在不同的服務器上或者同一個業務模塊分拆多個子業務,部署在不同的服務器上,解決高并發的問題。
集群:同一個業務部署在多臺機器上,提高系統可用性。
總結
以上是生活随笔為你收集整理的mysql的集群和分布式区别_集群和分布式的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python迭代器和生成器的作用_pyt
- 下一篇: M1 MacBook 安装CentOS虚