什么是集群
計(jì)算機(jī)的集群是一種計(jì)算機(jī)系統(tǒng),它通過(guò)一組松散集成的計(jì)算機(jī)軟件或硬件連接起來(lái)高度緊密地的協(xié)作完成計(jì)算任務(wù)。通俗的來(lái)講,它可以被看作一臺(tái)計(jì)算機(jī)。整個(gè)集群系統(tǒng)中單個(gè)的計(jì)算機(jī)我們通常稱之為節(jié)點(diǎn),通過(guò)網(wǎng)絡(luò)進(jìn)行互聯(lián)互通,相互協(xié)作完成任務(wù)。集群計(jì)算機(jī)通常用來(lái)提高改進(jìn)單個(gè)計(jì)算機(jī)的性能或可靠性。
集群就是一組相互獨(dú)立的計(jì)算機(jī),通過(guò)高速網(wǎng)絡(luò)組成一個(gè)計(jì)算機(jī)系統(tǒng),每個(gè)集群節(jié)點(diǎn)都是獨(dú)立運(yùn)行某個(gè)服務(wù)進(jìn)程的一個(gè)獨(dú)立服務(wù)器。對(duì)于客戶端用戶來(lái)講,集群也是一個(gè)單一的系統(tǒng),向用戶提供相應(yīng)的服務(wù)及應(yīng)答請(qǐng)求。因此,集群是可以看做一組服務(wù)器相互協(xié)同向用戶提供應(yīng)用程序、數(shù)據(jù)資源等應(yīng)用功能。其目的就是用來(lái)提高整個(gè)應(yīng)用系統(tǒng)的高可用性、可靠性與可伸縮性。
服務(wù)器集群(英文一般簡(jiǎn)稱Cluster),一般由若干臺(tái)(一般3臺(tái)以上)服務(wù)器組成集群服務(wù)器。服務(wù)器集群解決一臺(tái)服務(wù)器存在潛在問(wèn)題:
單臺(tái)服務(wù)器如果由于硬件故障、網(wǎng)絡(luò)通訊異常、性能受限、軟件故障、宕機(jī)等情況,那個(gè)所運(yùn)行的業(yè)務(wù)就會(huì)中斷,且業(yè)務(wù)恢復(fù)起來(lái)非常麻煩、時(shí)間周期長(zhǎng);而服務(wù)器集群解決了這個(gè)問(wèn)題,在集群中某一臺(tái)服務(wù)器出現(xiàn)故障時(shí),業(yè)務(wù)不會(huì)中斷,故障服務(wù)器上的業(yè)務(wù)會(huì)自動(dòng)切換到集群中的其它服務(wù)器上,保證用戶無(wú)感知到業(yè)務(wù)中斷的體驗(yàn)。
單臺(tái)服務(wù)器性能有限,而服務(wù)器集群能夠通過(guò)軟件聚合多臺(tái)服務(wù)器的硬件性能,對(duì)外提供超強(qiáng)的硬件性能,這是單臺(tái)服務(wù)器所不具備的條件。
集群架構(gòu)的特性
集群架構(gòu)一般有以下幾點(diǎn)特性。
1、高性能
實(shí)際工作、生產(chǎn)環(huán)境,有很多工作需要很強(qiáng)的處理能力的計(jì)算機(jī)來(lái)完成計(jì)算任務(wù),比如:常見(jiàn)像天氣預(yù)報(bào)、火箭飛行發(fā)射、其他高科技精密實(shí)驗(yàn)等。而單個(gè)獨(dú)立的計(jì)算機(jī)處理能力遠(yuǎn)遠(yuǎn)不能滿足這些需求,所以,需要一組或多組的服務(wù)連接起來(lái)組成一個(gè)集群去完成此項(xiàng)計(jì)算工作。從而提高整體的性能。
2、低成本
前面也提到了,像那種超級(jí)計(jì)算機(jī)的費(fèi)用不是每個(gè)企業(yè)都能接受的。在相同需求的條件下,采用計(jì)算機(jī)集群比用同等計(jì)算性能的大型或超級(jí)計(jì)算機(jī)的成本更理想,性價(jià)比更高。
3、擴(kuò)展性強(qiáng)
集群系統(tǒng)中節(jié)點(diǎn)數(shù)目可以增長(zhǎng)到幾千、甚至上萬(wàn),其擴(kuò)展性遠(yuǎn)超單臺(tái)超級(jí)計(jì)算機(jī)。
當(dāng)服務(wù)器的負(fù)載壓力增高時(shí),集群的架構(gòu)模式方便增加服務(wù)器來(lái)應(yīng)付這種負(fù)載帶來(lái)的壓力,同時(shí),如果負(fù)載比原來(lái)低了,也可以將某一組服務(wù)器協(xié)調(diào)出來(lái)作其他的應(yīng)用服務(wù),調(diào)配方便。同樣,通過(guò)這種擴(kuò)展在滿足需求的同時(shí),而且還不會(huì)降低原來(lái)的服務(wù)質(zhì)量與用戶體驗(yàn)感。
4、高可用
企業(yè)的業(yè)務(wù)需求需要支持7*24時(shí)不間斷的服務(wù),因此當(dāng)服務(wù)器硬件出現(xiàn)問(wèn)題時(shí),這種架構(gòu)足以能滿足這種需求。
在硬件和軟件上都有冗余,通過(guò)檢測(cè)軟硬件的故障,將故障屏蔽,由存活節(jié)點(diǎn)提供服務(wù),可實(shí)現(xiàn)高可用性。即使部分硬件和軟件發(fā)生故障,但整個(gè)系統(tǒng)的服務(wù)必須是7*24小時(shí)運(yùn)行的。當(dāng)發(fā)現(xiàn)一個(gè)模塊失敗時(shí),要這模塊上提供的服務(wù)遷移到其他模塊上。在理想狀況下,這種遷移是即時(shí)的、自動(dòng)的。
集群的優(yōu)勢(shì)
1、透明性
如果一部分服務(wù)器宕機(jī)了業(yè)務(wù)不受影響,一般耦合度沒(méi)有那么高,依賴關(guān)系沒(méi)有那么高。比如NFS服務(wù)器宕機(jī)了其他就掛載不了了,這樣依賴性太強(qiáng)。
如何高效地使得由多個(gè)獨(dú)立計(jì)算機(jī)組成的松藕合的集群系統(tǒng)構(gòu)成一個(gè)虛擬服務(wù)器;客戶端應(yīng)用程序與集群系統(tǒng)交互時(shí),就像與一臺(tái)高性能、高可用的服務(wù)器交互一樣,客戶端無(wú)須作任何修改。部分服務(wù)器的切入和切出不會(huì)中斷服務(wù),這對(duì)用戶也是透明的。
2、高性能
訪問(wèn)量增加,能夠輕松擴(kuò)展。
性能要接近線性加速,這需要設(shè)計(jì)很好的軟硬件的體系結(jié)構(gòu),消除系統(tǒng)可能存在的瓶頸。將負(fù)載較均衡地調(diào)度到各臺(tái)服務(wù)器上。
3、可管理性
整個(gè)系統(tǒng)可能在物理上很大,要使集群系統(tǒng)變得易管理,就像管理一個(gè)單一映像系統(tǒng)一樣。在理想狀況下,軟硬件模塊的插入能做到即插即用。
4、可編程性
在集群系統(tǒng)上,容易開(kāi)發(fā)應(yīng)用程序,門戶網(wǎng)站會(huì)要求這個(gè)。