1. 程式人生 > >關於叢集、負載均衡、分散式的區別(轉)

關於叢集、負載均衡、分散式的區別(轉)

1、Linux叢集主要分成三大類( 高可用叢集, 負載均衡叢集,科學計算叢集) 
叢集是一個統稱,他分為好幾種,如高效能科學群集、負載均衡群集、高可用性群集等。 
科學群集 、高效能叢集(High performance cluster,HPC)
它是利用一個叢集中的多臺機器共同完成同一件任務,使得完成任務的速度和可靠性都遠遠高於單機執行的效果。彌補了單機效能上的不足。該叢集在天氣預報、環境監控等資料量大,計算複雜的環境中應用比較多;
通常,這種叢集涉及為群集開發並行程式設計應用程式,以解決複雜的科學問題。它不使用專門的超級平行計算機,而是用商業系統(如通過高速連線來連結的一組單處理器或雙處理器PC),並且在公共訊息傳遞層上進行通訊以執行並行應用程式。我們常常聽說一種便宜的 Linux 超級計算機問世了,大多數情況就是指這種集群系統,其處理能力與真的超級計算機相當,而其價格與上百萬美元的專用超級計算機相比是相當的便宜。 

負載均衡叢集(Load balance cluster, LBC) 
它是利用一個叢集中的多臺單機,完成許多並行的小的工作。一般情況下,如果一個應用使用的人多了,那麼使用者請求的相應時間就會增大,機器的效能也會受到影響,如果使用負載均衡叢集,那麼叢集中任意一臺機器都能相應使用者的請求,這樣叢集就會在使用者發出服務請求之後,選擇當時負載最小,能夠提供最好的服務的這臺機器來接受請求並相應,這樣就可用用叢集來增加系統的可用性和穩定性。這類叢集在網站中使用較多;
負載均衡群集為企業需求提供了更為實用的系統。如其名稱,這種系統使負載可以在多臺計算機中儘可能平均地分攤處理。負載可以是需要均衡的應用程式處理負載或網路流量負載。在系統中,每個節點都可以處理一部分負載,並且可以在節點之間動態分配負載,以實現平衡。對於網路流量也是如此。 

高可用性叢集(High availability cluster,HAC)
它是利用叢集中系統 的冗餘,當系統中某臺機器發生損壞的時候,其他後備的機器可以迅速的接替它來啟動服務,等待故障機的維修和返回。最大限度的保證叢集中服務的可用性。這類系統一般在銀行,電信服務這類對系統可靠性有高的要求的領域有著廣泛的應用。 
高可用性群集的出現是為了使群集的整體服務儘可能可用。如果高可用性群集中的主節點發生了故障,那麼這段時間內將由次節點代替它。次節點通常是主節點的映象,所以當它代替主節點時,它可以完全接管其身份,對使用者沒有任何影響。 
在群集的這三種基本型別之間,經常會發生交叉、混合。比如:在高可用性的群集系統中也可以在其節點之間實現負載均衡,同時仍然維持著其高可用性。 



2、負載均衡系統: 負載均衡又有DNS負載均衡(比較常用)、IP負載均衡、反向代理負載均衡等,也就是在叢集中有伺服器A、B、C,它們都是互不影響,互不相干的,任何一臺的機器宕了,都不會影響其他機器的執行,當用戶來一個請求,有負載均衡器的演算法決定由哪臺機器來處理,假如你的演算法是採用round演算法,有使用者a、b、c,那麼分別由伺服器A、B、C來處理; 


3、分散式是指將不同的業務分佈在不同的地方。 
而叢集指的是將幾臺伺服器集中在一起,實現同一業務。 
分散式中的每一個節點,都可以做叢集。 
而叢集並不一定就是分散式的。 
舉例:就比如新浪網,訪問的人多了,他可以做一個群集,前面放一個響應伺服器,後面幾臺伺服器完成同一業務,如果有業務訪問的時候,響應伺服器看哪臺伺服器的負載不是很重,就將給哪一臺去完成。 
而分散式,從窄意上理解,也跟叢集差不多, 但是它的組織比較鬆散,不像叢集,有一個組織性,一臺伺服器垮了,其它的伺服器可以頂上來。 
分散式的每一個節點,都完成不同的業務,一個節點垮了,哪這個業務就不可訪問了。 


1. 叢集(Cluster):是一組獨立的計算機系統構成一個鬆耦合的多處理器系統,它們之間通過網路實現程序間的通訊。應用程式可以通過網路共享記憶體進行訊息傳送,實現分散式計算機。 

2. 負載均衡(Load Balance):先得從叢集講起,叢集就是一組連在一起的計算機,從外部看它是一個系統,各節點可以是不同的作業系統或不同硬體構成的計算機。如一個提 供Web服務的叢集,對外界來看是一個大Web伺服器。不過叢集的節點也可以單獨提供服務。 

3. 特點:在現有網路結構之上,負載均衡提供了一種廉價有效的方法擴充套件伺服器頻寬和增加吞吐量,加強網路資料處理能力,提高網路的靈活性和可用性。集群系統 (Cluster)主要解決下面幾個問題:高可靠性(HA):利用叢集管理軟體,當主伺服器故障時,備份伺服器能夠自動接管主伺服器的工作,並及時切換過 去,以實現對使用者的不間斷服務。高效能運算(HP):即充分利用叢集中的每一臺計算機的資源,實現複雜運算的並行處理,通常用於科學計算領域,比如基因分 析,化學分析等。負載平衡:即把負載壓力根據某種演算法合理分配到叢集中的每一臺計算機上,以減輕主伺服器的壓力,降低對主伺服器的硬體和軟體要求。