叢集簡介
1. 叢集的定義
叢集是一種并行或分布式系統,該系統包括一個互連的整體計算機集合作為單一、同意的計算機資源使用。通過叢集技術,我們可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面更高的提升。
計算機叢集簡稱叢集,是一組計算機系統,它通過一組松散內建的計算機軟體和硬體連接配接起來,高度緊密地協作完成提供業務及計算等相關工作。
叢集,是指一組互相獨立的計算機,利用高速通信網絡組成的一個計算機系統,每個叢集節點都是運作其自己程序的一個獨立伺服器。這些程序可以彼此通信,對網絡客戶機來說就像形成了一個單一系統,協同起來向使用者提供應用程式、系統資源和資料,并以單一系統的模式加以管理。使用者客戶機請求叢集系統時,叢集像是一個單一的伺服器,實際上叢集是一組伺服器。
2. 企業網站叢集架構
- LVS 叢集架構圖
- Haproxy/Nginx 叢集架構圖
- lvs+haproxy/nginx叢集架構圖
- 門戶網站叢集架構
3. 為什麼要使用叢集
特點:
1. 高性能(Performance)
一些國家重要的計算密集型應用,如:天氣預報、核試驗模拟等,這些工作需要計算機有很強的運算處理能力。以全世界現有的技術,即使是大型機,其計算能力也很難勝任。因為運算時間可能會相當長,也許幾天,甚至幾年或更久。這樣複雜計算業務,一般都會使用計算機叢集技術,幾種幾十台甚至上百上千台計算機的運算能力來滿足要求。
大家耳熟能詳的大型網站,如京東商城,淘寶網,谷歌都不是幾台大型機可以搞定的,都是成千上萬台伺服器組成的高性能叢集。
2. 價格有效性(Cost-effectiveness)
通常一套系統叢集架構,隻需要幾台或數十台伺服器主機即可。與動則價值上百萬的專用超級計算機相比便宜了很多。在達到同樣性能需求的條件下,采用計算機叢集架構比采用同等運算能力的大型計算機具有更高的成本效益。
早期的淘寶和支付寶的資料庫等核心系統就是用的上百萬的小機伺服器,後因成本太貴,以及擴充裝置成幾何級數翻倍,甚至發展到擴充瓶頸,人員維護也困難。最終使用叢集架構替換之,特别的是把資料庫系統從小機結合 oracle 資料庫遷移到 mysql 開源資料庫結合 pc 伺服器上來了。不但成本下降了,擴充也容易了,維護更容易了。
3. 可伸縮性(Scalability)
通常情況,硬體裝置若想擴充性能能力,不得不購買新的 CPU 和存儲器裝置,加不上去了,就不得不購買更高性能的伺服器。如果采用叢集技術,隻需要将新的單個伺服器加入現有叢集架構中即可,對于通路的使用者來看,系統服務無論從連續性還是性能上都幾乎沒有變化,系統在不知不覺中完成了更新,加大了通路能力,輕松實作了擴充,叢集系統中的節點數且可以增長到幾千上萬。
4. 高可用性(Availability)
單一的計算機系統總會面臨裝置損毀的問題,如 CPU、記憶體、主辦、電源、硬碟等隻要一個部件壞掉,這個計算機就可能當機,無法提供正常的服務。叢集技術可以使得系統在若幹硬體裝置故障發生時仍可以繼續工作,這樣就将系統停機時間減少到最小。叢集在提高可靠性同時也減小了系統故障帶來的業務損失。
5. 可管理型(Manageability)
是叢集系統變得易管理,就像一個單一映像系統一樣。理想狀況下,軟硬體子產品的插入能做到即插即用。
6. 可程式設計性(Programmability)
叢集系統上,容易開發應用程式,門戶網站要求這個。
4. 叢集分類
- 負載均衡叢集(Load Balancing clusters),LBC
負載均衡叢集為企業提供了更為實用,成本效益更高的系統架構解決方案。負載均衡叢集可以把很多客戶集中通路請求負載壓力盡可能平均地分攤在計算機叢集中處理。客戶通路請求負載通常包括應用程式處理負載和網絡流量負載。這樣的系統非常适合向使用同一組應用程式為大量使用者提供服務。每個節點都可以承擔一定的通路請求負載壓力,并且可以實作通路請求再各個節點之間動态配置設定,以實作負載均衡。
負載均衡運作時,一般通過一個或者多個前端負載均衡器将客戶通路請求分發到後端的一組伺服器上,進而達到整個系統的高性能和高可用性。這樣的計算機叢集有時也被稱為伺服器群。一般高可用性叢集和負載均衡叢集會使用類似的技術,或同時具有高可用性與負載均衡的特點。
負載均衡的作用:分擔通路流量(負載均衡)和保持業務連續性(高可用性)
負載均衡的軟體:LVS,Haproxy,Nginx
- 高可用性叢集(High-availability clusters),HAC
一般是指當叢集中的一個節點失效的情況下,節點上的所有任務會自動轉移到其他正常的節點上。該過程并不影響整個叢集的運作。不同的業務會有若幹秒的切換時間,DB 業務明細長于 Web 業務切換時間。
當叢集中的一個節點系統發生故障時,運作着的叢集服務會迅速作出反應,将該系統的服務配置設定到叢集中其它正在工作的系統上運作。如果高可用性叢集主節點發生了故障,那麼這段時間将由此節點代替它。此節點是主節點的鏡像。當它代替主節點時,可以完全接管主節點的身份,是以使叢集系統環境對于使用者來說是一緻的,不會影響使用者的通路。
負載均衡的作用:當一台機器當機另一台機器接管(接管 IP 資源和服務資源)
負載均衡的軟體:Keepalived、Heartbeat
- 高性能計算叢集(High-performance(HPC)clusters),HPC
高性能計算叢集也稱并行計算,通常高性能計算叢集涉及為叢集開發的并行應用程式以解決複雜的科學問題(天氣預報、石油勘探、核反應模拟等)。高性能計算叢集對外就好像一個超級計算機,這種超級計算機内部由數十甚至上萬個獨立伺服器組成,并且在公共消息傳遞層上進行通信以運作并行應用程式。實際是把任務切成蛋糕然後下發到叢集節點計算,計算後傳回結果,然後繼續領新任務計算。
- 網絡計算(Grid computing)
很少很少遇到,略過。
轉載于:https://blog.51cto.com/pkbai/1874245