当前位置:网站首页>集群、分布式、微服務的區別和介紹

集群、分布式、微服務的區別和介紹

2022-07-07 05:36:00 勤天

目錄

一、集群的概念

二、為什麼要使用集群?

1、集群的特點

2、集群的優勢

3、集群分類及不同分類的特點

三、集群分類介紹

1、負載均衡集群

2、高可用性集群

3、高性能計算集群

四、集群與分布式區別

1、分布式圖解

2、集群模式圖解

五、分布式與微服務區別

1、分布式是否屬於微服務?

2、微服務架構


一、集群的概念

服務器集群簡稱集群是一種服務器系統,它通過一組松散集成的服務器軟件和/或硬件連接起來高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一臺服務器。

集群系統中的單個服務器通常稱為節點,通常通過局域網連接,但也有其它的可能連接方式。集群服務器通常用來改進單個服務器的計算速度和/或可靠性。一般情况下集群

服務器比單個服務器,比如工作站或超級服務器性能價格比要高得多。集群就是一組獨立的服務器,通過網絡連接組合成一個組合來共同完一個任務。

說的直白點,集群就是一組相互獨立的服務器,通過高速的網絡組成一個服務器系統,每個集群節點都是運行其自己進程的一個獨立服務器。對網絡用戶來講,網站後端就是一個單一的系統,協同起來向用戶提供系統資源,系統服務。

二、為什麼要使用集群?

1、集群的特點

-  高性能performance

一些需要很强的運算處理能力比如天氣預報,核試驗等。這就不是幾臺服務器能够搞定的。這需要上千臺一起來完成這個工作的。

-  價格有效性

通常一套系統集群架構,只需要幾臺或數十臺服務器主機即可,與動則上百萬的專用超級服務器具有更高的性價比。

-  可伸縮性

當服務器負載壓力增長的時候,系統能够擴展來滿足需求,且不降低服務質量。

-  高可用性

盡管部分硬件和軟件發生故障,整個系統的服務必須是7*24小時運行的。

2、集群的優勢

-  透明性

如果一部分服務器宕機了業務不受影響,一般耦合度沒有那麼高,依賴關系沒有那麼高。比如NFS服務器宕機了其他就掛載不了了,這樣依賴性太强。

-  高性能

訪問量增加,能够輕松擴展。

-  可管理性

整個系統可能在物理上很大,但很容易管理。

-  可編程性

在集群系統上,容易開發應用程序,門戶網站會要求這個。

3、集群分類及不同分類的特點

計算機集群架構按照功能和結構一般分成以下幾類:

-  負載均衡集群(Load balancing clusters)簡稱LBC

-  高可用性集群(High-availability clusters)簡稱HAC

-  高性能計算集群(High-perfomance clusters)簡稱HPC

-  網格計算(Gridcomputing)

就集群分類而言, 網絡上面一般認為是有三個,負載均衡和高可用集群式我們互聯網行業常用的集群架構。

三、集群分類介紹

1、負載均衡集群

負載均衡集群為企業提供了更為實用,性價比更高的系統架構解决方案。負載均衡集群把很多客戶集中訪問的請求負載壓力可能盡可能平均的分攤到計算機集群中處理。

客戶請求負載通常包括應用程度處理負載和網絡流量負載。這樣的系統非常適合向使用同一組應用程序為大量用戶提供服務。每個節點都可以承擔一定的訪問請求負載壓力,並且可以實現訪問請求在各節點之間動態分配,以實現負載均衡。

負載均衡運行時,一般通過一個或多個前端負載均衡器將客戶訪問請求分發到後端一組服務器上,從而達到整個系統的高性能和高可用性。這樣集群有時也被稱為服務器群。

一般高可用性集群和負載均衡集群會使用類似的技術,或同時具有高可用性與負載均衡的特點。

負載均衡集群的作用:

a)分擔訪問流量(負載均衡)

b)保持業務的連續性(高可用)

2、高可用性集群

一般是指當集群中的任意一個節點失效的情况下,節點上的所有任務自動轉移到其他正常的節點上,並且此過程不影響整個集群的運行,不影響業務的提供。

類似是集群中運行著兩個或兩個以上的一樣的節點,當某個主節點出現故障的時候,那麼其他作為從 節點的節點就會接替主節點,繼續上面的任務。從節點可以接管主節點的資源(IP地址,架構身份等),此時用戶不會發現提供服務的對象從主節點轉移到從節點。

高可用性集群的作用:當一臺機器宕機另一臺進行接管。比較常用的高可用集群開源軟件有:keepalive,heardbeat。

3、高性能計算集群

高性能計算集群采用將計算任務分配到集群的不同計算節點兒提高計算能力,因而主要應用在科學計算領域。

比較流行的HPC采用Linux操作系統和其它一些免費軟件來完成並行運算。這一集群配置通常被稱為Beowulf集群。這類集群通常運行特定的程序以發揮HPCcluster的並行能力。這類程序一般應用特定的運行庫, 比如專為科學計算設計的MPI庫。HPC集群特別適合於在各計算節點之間發生大量數據通訊的計算作業,比如一個節點的中間結果或影響到其它節點計算結果的情况。

四、集群與分布式區別

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

  • 分布式:一個業務拆分成多個子業務,每個子業務分別部署在不同的服務器上
  • 集群:同一個業務,部署在多個服務器上

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

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

舉例:就比如新浪網,訪問的人多了,他可以做一個群集,前面放一個響應服務器,後面幾臺服務器完成同一業務,如果有業務訪問的時候,響應服務器看哪臺服務器的負載不是很重,就將給哪一臺去完成。

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

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

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

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

1、分布式圖解

將一個大的系統劃分為多個業務模塊,業務模塊分別部署到不同的機器上,各個業務模塊之間通過接口進行數據交互。區別分布式的方式是根據不同機器不同業務。

上面:service A、B、C、D 分別是業務組件,通過API Geteway進行業務訪問。

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

2、集群模式圖解

 

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

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

一般配置Nginx*的負載容器實現:靜態資源緩存、Session共享可以附帶實現,Nginx支持5000個並發量。

五、分布式與微服務區別

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

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

1、分布式是否屬於微服務?

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

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

2、微服務架構

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

 

 

原网站

版权声明
本文为[勤天]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/07/202207062341085238.html