Web集羣是由多個同時運行同一個web應用的服務器組成,在外界看來就像一個服務器同樣,這多臺服務器共同來爲客戶提供更高性能的服務。集羣更標準的定義是:一組相互獨立的服務器在網絡中表現爲單一的系統,並以單一系統的模式加以管理,此單一系統爲客戶工做站提供高可靠性的服務。
而負載均衡的任務就是負責多個服務器之間(集羣內)實現合理的任務分配,使這些服務器(集羣)不會出現因某一臺超負荷、而其餘的服務器卻沒有充分發揮處理能力的狀況。負載均衡有兩個方面的含義:首先,把大量的併發訪問或數據流量分擔到多臺節點上分別處理,減小用戶等待響應的時間;其次,單個高負載的運算分擔到多臺節點上作並行處理,每一個節點設備處理結束後,將結果彙總,再返回給用戶,使得信息系統處理能力能夠獲得大幅度提升
所以能夠看出,集羣和負載均衡有本質上的不一樣,它們是解決兩方面問題的不一樣方案,不要混淆。
集羣技術能夠分爲三大類:
一、高性能性集羣(HPC Cluster)
二、高可用性集羣(HA Cluster)
三、高可擴展性集羣
1、高性能性集羣(HPC Cluster)
指以提升科學計算能力爲目標的集羣技術。該集羣技術主要用於科學計算,這裏不打算介紹,若是感興趣能夠參考相關的資料。
2、高可用性集羣(HA Cluster)
指爲了使羣集的總體服務儘量可用,減小服務宕機時間爲目的的集羣技術。若是高可用性集羣中的某節點發生了故障,那麼這段時間內將由其餘節點代替它的工做。固然對於其餘節點來說,負載相應的就增長了。
爲了提升整個系統的可用性,除了提升計算機各個部件的可靠性之外,通常狀況下都會採用該集羣的方案。
對於該集羣方案,通常會有兩種工做方式:
①主-主(Active-Active)工做方式
這是最經常使用的集羣模型,它提供了高可用性,而且在只有一個節點時也能提供能夠接受的性能,該模型容許最大程度的利用硬件資源。每一個節點都經過網絡對客戶機提供資源,每一個節點的容量被定義好,使得性能達到最優,而且每一個節點均可以在故障轉移時臨時接管另外一個節點的工做。全部的服務在故障轉移後仍保持可用,可是性能一般都會降低。
mysql
這是目前運用最爲普遍的雙節點雙應用的Active/Active模式。web
支撐用戶業務的應用程序在正常狀態下分別在兩臺節點上運行,各自有本身的資源,好比IP地址、磁盤陣列上的卷或者文件系統。當某一方的系統或者資源出現故障時,就會將應用和相關資源切換到對方的節點上。算法
這種模式的最大優勢是不會有服務器的「閒置」,兩臺服務器在正常狀況下都在工做。但若是有故障發生致使切換,應用將放在同一臺服務器上運行,因爲服務器的處理能力有可能不能同時知足數據庫和應用程序的峯值要求,這將會出現處理能力不夠的狀況,下降業務響應水平。sql
②主-從(Active-Standby)工做方式
爲了提供最大的可用性,以及對性能最小的影響,主-從工做方式須要一個在正常工做時處於備用狀態的節點,主節點處理客戶機的請求,而備用節點處於空閒狀態,當主節點出現故障時,備用節點會接管主節點的工做,繼續爲客戶機提供服務,而且不會有任何性能上影響。
數據庫
兩節點的Active/Standby模式是HA中最簡單的一種,兩臺服務器經過雙心跳線路組成一個集羣。應用Application聯合各個可選的系統組件如:外置共享的磁盤陣列、文件系統和浮動IP地址等組成業務運行環境。服務器
PCL爲此環境提供了徹底冗餘的服務器配置。這種模式的優缺點:網絡
3、高可擴展性集羣
這裏指帶有負載均衡策略(算法)的服務器羣集技術。帶負載均衡集羣爲企業需求提供了更實用的方案,它使負載能夠在計算機集羣中儘量平均地分攤處理。而須要均衡的多是應用程序處理負載或是網絡流量負載。該方案很是適合於運行同一組應用程序的節點。每一個節點均可以處理一部分負載,而且能夠在節點之間動態分配負載, 以實現平衡。對於網絡流量也是如此。一般,單個節點對於太大的網絡流量沒法迅速處理,這就須要將流量發送給在其它節點。還能夠根據每一個節點上不一樣的可用資源或網絡的特殊環境來進行優化。
負載均衡集羣在多節點之間按照必定的策略(算法)分發網絡或計算處理負載。負載均衡創建在現有網絡結構之上,它提供了一種廉價有效的方法來擴展服務器帶寬,增長吞吐量,提升數據處理能力,同時又能夠避免單點故障。併發