集群,分布式,微服務概念和區別理解

2022-08-22 11:57:10 字數 1566 閱讀 4645

**:   (部分內容做了修改)

集群是個物理形態,分布式是個工作方式。

1、分布式是指將不同的子業務分布在不同的地方。而集群指的是將幾台伺服器集中在一起,實現同一業務。

分布式中的每乙個節點,都可以做集群。而集群並不一定就是分布式的。

而分布式,從窄意上理解,也跟集群差不多,但是它的組織比較鬆散,不像集群,有乙個組織性,一台伺服器垮了,其它的伺服器可以頂上來。

分布式的每乙個節點,都完成不同的子業務,乙個節點垮了,那這個業務就不可訪問了。

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

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

採用分布式方案,提供 10 臺伺服器,每台伺服器只負責處理1個子任務,1小時完成1個服務。(這種工作模式的乙個典型代表就是 hadoop 的 map/reduce 分布式計算模型)

而採用集群方案,同樣提供 10 臺伺服器,每台伺服器都能獨立處理這個任務。假設有 10 個任務同時到達,10 個伺服器將同時工作,10小時完成10個服務。

好的設計應該是分布式和集群的結合,先分布式再集群,具體實現就是業務拆分成很多子業務,然後針對每個子業務進行集群部署,這樣每個子業務如果出了問題,整個系統完全不會受影響。

另外,還有乙個概念和分布式比較相似,那就是微服務。

微服務是一種架構風格,乙個大型複雜軟體應用由乙個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注於完成一件任務並很好地完成該任務。在所有情況下,每個任務代表著乙個小的業務能力。

將乙個大的系統劃分為多個業務模組,業務模組分別部署到不同的機器上,各個業務模組之間通過介面進行資料互動。區別分布式的方式是根據不同機器不同業務。

上面:service a、b、c、d 分別是業務元件,通過api geteway進行業務訪問。

注:分布式需要做好事務管理。

分布式事務可參考:微服務架構的分布式事務解決方案

集群模式是不同伺服器部署同一套服務對外訪問,實現服務的負載均衡。區別集群的方式是根據部署多台伺服器業務是否相同。

注:集群模式需要做好session共享,確保在不同伺服器切換的過程中不會因為沒有獲取到session而中止退出服務。

一般配置nginx*的負載容器實現:靜態資源快取、session共享可以附帶實現,nginx支援5000個併發量。

分布式一定是微服務,微服務不一定是分布式。

分布式的定義:把乙個服務拆分成多個子服務,分別放在不同的伺服器上。微服務可以放在同乙個伺服器上,也可以放在不同的伺服器上。

微服務的設計是為了不因為某個模組的公升級和bug影響現有的系統業務。微服務與分布式的細微差別是,微服務的應用不一定是分散在多個伺服器上,他也可以是同乙個伺服器。

分布式和微服的架構很相似,只是部署的方式不一樣而已。

分布式 微服務 集群 的概念和區別

分布式是指將不同的業務分布在不同的地方。而集群指的是將幾台伺服器集中在一起,實現同一業務。分布式中的每乙個節點,都可以做集群。而集群並不一定就是分布式的。分布式,從窄意上理解,也跟集群差不多,但是它的組織比較鬆散,不像集群,有乙個組織性,一台伺服器垮了,其它的伺服器可以頂上來。分布式的每乙個節點,都...

分布式 微服務 集群 的概念和區別

分布式是指將不同的業務分布在不同的地方。而集群指的是將幾台伺服器集中在一起,實現同一業務。分布式中的每乙個節點,都可以做集群。而集群並不一定就是分布式的。分布式,從窄意上理解,也跟集群差不多,但是它的組織比較鬆散,不像集群,有乙個組織性,一台伺服器垮了,其它的伺服器可以頂上來。分布式的每乙個節點,都...

集群 分布式 微服務的區別

開門見山,見標題。集群是個物理形態,分布式是個工作方式,微服務是一種架構風格。集群模式是不同伺服器部署同一套服務對外訪問,實現服務的負載均衡。區別集群的方式是根據部署多台伺服器業務是否相同。將乙個大的系統劃分為多個業務模組,業務模組分別部署到不同的機器上,各個業務模組之間通過介面進行資料互動。區別分...