集群Cluster
集群Cluster
1. 什么是集群
計(jì)算機(jī)集群簡(jiǎn)稱集群,是一種計(jì)算機(jī)系統(tǒng),它通過(guò)一組松散集成的計(jì)算機(jī)軟件(和/或)硬件連接起來(lái)高度緊密地協(xié)作完成計(jì)算工作。在某種意義上,他們可以被看作是一臺(tái)計(jì)算機(jī)。集群系統(tǒng)中的單個(gè)計(jì)算機(jī)通常稱為節(jié)點(diǎn),通常通過(guò)局域網(wǎng)連接,但也有其它的可能連接方式。集群計(jì)算機(jī)通常用來(lái)改進(jìn)單個(gè)計(jì)算機(jī)的計(jì)算速度(和/或)可靠性。一般情況下集群計(jì)算機(jī)比單個(gè)計(jì)算機(jī),工作站或超級(jí)計(jì)算機(jī)性能價(jià)格比要高得多。
集群就是一組相互獨(dú)立的計(jì)算機(jī),通過(guò)高速的網(wǎng)絡(luò)組成一個(gè)計(jì)算機(jī)系統(tǒng),每個(gè)集群節(jié)點(diǎn)都是運(yùn)行其自己進(jìn)程的一個(gè)獨(dú)立服務(wù)器。對(duì)網(wǎng)絡(luò)用戶來(lái)講,網(wǎng)站后端就是一個(gè)單一的系統(tǒng),協(xié)同起來(lái)向用戶提供系統(tǒng)資源,系統(tǒng)服務(wù)。通過(guò)網(wǎng)絡(luò)連接組合成一個(gè)組合來(lái)共同完一個(gè)任務(wù)。
2. 集群的分類
2.1 負(fù)載均衡集群(Load balancing clusters)
負(fù)載均衡集群為企業(yè)提供了更為實(shí)用,性價(jià)比更高的系統(tǒng)架構(gòu)解決方案。負(fù)載均衡集群把很多客戶集中訪問(wèn)的請(qǐng)求負(fù)載壓力盡可能平均的分?jǐn)偟接?jì)算機(jī)集群中處理。客戶請(qǐng)求負(fù)載通常包括"應(yīng)用程度處理負(fù)載"和"網(wǎng)絡(luò)流量負(fù)載"。這樣的系統(tǒng)非常適合向使用同一組應(yīng)用程序?yàn)榇罅坑脩籼峁┓?wù)。每個(gè)節(jié)點(diǎn)都可以承擔(dān)一定的訪問(wèn)請(qǐng)求負(fù)載壓力,并且可以實(shí)現(xiàn)訪問(wèn)請(qǐng)求在各節(jié)點(diǎn)之間動(dòng)態(tài)分配,以實(shí)現(xiàn)負(fù)載均衡。
負(fù)載均衡運(yùn)行時(shí),一般通過(guò)一個(gè)或多個(gè)前端負(fù)載均衡器將客戶訪問(wèn)請(qǐng)求分發(fā)到后端一組服務(wù)器上,從而達(dá)到整個(gè)系統(tǒng)的高性能和高可用性。這樣計(jì)算機(jī)集群有時(shí)也被稱為服務(wù)器群。一般高可用性集群和負(fù)載均衡集群會(huì)使用類似的技術(shù),或同時(shí)具有高可用性與負(fù)載均衡的特點(diǎn)。
負(fù)載均衡集群的作用:
分擔(dān)訪問(wèn)流量(負(fù)載均衡)
保持業(yè)務(wù)的連續(xù)性(高可用性)
2.2 高可用性集群(High-availability clusters)
一般是指當(dāng)集群中的任意一個(gè)節(jié)點(diǎn)失效的情況下,節(jié)點(diǎn)上的所有任務(wù)自動(dòng)轉(zhuǎn)移到其他正常的節(jié)點(diǎn)上,并且此過(guò)程不影響整個(gè)集群的運(yùn)行,不影響業(yè)務(wù)的提供。
類似是集群中運(yùn)行著兩個(gè)或兩個(gè)以上的一樣的節(jié)點(diǎn),當(dāng)某個(gè)主節(jié)點(diǎn)出現(xiàn)故障的時(shí)候,那么其他作為從節(jié)點(diǎn)的節(jié)點(diǎn)就會(huì)接替主節(jié)點(diǎn)上面的任務(wù)。從節(jié)點(diǎn)可以接管主節(jié)點(diǎn)的資源(IP地址,架構(gòu)身份等),此時(shí)用戶不會(huì)發(fā)現(xiàn)提供服務(wù)的對(duì)象從主節(jié)點(diǎn)轉(zhuǎn)移到從節(jié)點(diǎn)。
高可用性集群的作用:
當(dāng)一個(gè)機(jī)器宕機(jī)另一臺(tái)進(jìn)行接管。
比較常用的高可用集群開(kāi)源軟件有:keepalive,heardbeat
2.3 高性能計(jì)算集群(High-perfomance clusters)
高性能計(jì)算集群采用將計(jì)算任務(wù)分配到集群的不同計(jì)算節(jié)點(diǎn)兒提高計(jì)算能力,因而主要應(yīng)用在科學(xué)計(jì)算領(lǐng)域。比較流行的HPC采用Linux操作系統(tǒng)和其它一些免費(fèi)軟件來(lái)完成并行運(yùn)算。這一集群配置通常被稱為Beowulf集群。這類集群通常運(yùn)行特定的程序以發(fā)揮HPCcluster的并行能力。這類程序一般應(yīng)用特定的運(yùn)行庫(kù), 比如專為科學(xué)計(jì)算設(shè)計(jì)的MPI庫(kù)。
HPC集群特別適合于在計(jì)算中各計(jì)算節(jié)點(diǎn)之間發(fā)生大量數(shù)據(jù)通訊的計(jì)算作業(yè),比如一個(gè)節(jié)點(diǎn)的中間結(jié)果會(huì)影響到其它節(jié)點(diǎn)計(jì)算結(jié)果的情況。
3.集群的優(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)一樣。在理想狀況下,軟硬件模塊的插入能做到即插即用(Plug & Play)。
4.可編程性
在集群系統(tǒng)上,容易開(kāi)發(fā)應(yīng)用程序,門(mén)戶網(wǎng)站會(huì)要求這個(gè)。
4. 集群實(shí)現(xiàn)的方式
主從方式 (非對(duì)稱方式)
工作原理:主機(jī)工作,備機(jī)處于監(jiān)控準(zhǔn)備狀況;當(dāng)主機(jī)宕機(jī)時(shí),備機(jī)接管主機(jī)的一切工作,待主機(jī)恢復(fù)正常后,按使用者的設(shè)定以自動(dòng)或手動(dòng)方式將服務(wù)切換到主機(jī)上運(yùn)行,數(shù)據(jù)的一致性通過(guò)共享存儲(chǔ)系統(tǒng)解決。
雙機(jī)雙工方式(互備互援)
工作原理:兩臺(tái)主機(jī)同時(shí)運(yùn)行各自的服務(wù)工作且相互監(jiān)測(cè)情況,當(dāng)任一臺(tái)主機(jī)宕機(jī)時(shí),另一臺(tái)主機(jī)立即接管它的一切工作,保證工作實(shí)時(shí),應(yīng)用服務(wù)系統(tǒng)的關(guān)鍵數(shù)據(jù)存放在共享存儲(chǔ)系統(tǒng)中。
集群工作方式(多服務(wù)器互備方式)
工作原理:多臺(tái)主機(jī)一起工作,各自運(yùn)行一個(gè)或幾個(gè)服務(wù),各為服務(wù)定義一個(gè)或多個(gè)備用主機(jī),當(dāng)某個(gè)主機(jī)故障時(shí),運(yùn)行在其上的服務(wù)就可以被其它主機(jī)接管
5. 正向代理
正向代理類似一個(gè)跳板機(jī),代理訪問(wèn)外部資源。比如我是一個(gè)用戶,我訪問(wèn)不了某網(wǎng)站,但是我能訪問(wèn)一個(gè)代理服務(wù)器,這個(gè)代理服務(wù)器呢,他能訪問(wèn)那個(gè)我不能訪問(wèn)的網(wǎng)站,于是我先連上代理服務(wù)器,告訴他我需要那個(gè)無(wú)法訪問(wèn)網(wǎng)站的內(nèi)容,代理服務(wù)器去取回來(lái),然后返回給我。從網(wǎng)站的角度,只在代理服務(wù)器來(lái)取內(nèi)容的時(shí)候有一次記錄,有時(shí)候并不知道是用戶的請(qǐng)求,也隱藏了用戶的資料,這取決于代理告不告訴網(wǎng)站。
6. 反向代理
反向代理(Reverse Proxy)實(shí)際運(yùn)行方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。
反向代理的作用:
(1)保證內(nèi)網(wǎng)的安全,可以使用反向代理提供WAF功能,阻止web攻擊。大型網(wǎng)站,通常將反向代理作為公網(wǎng)訪問(wèn)地址,Web服務(wù)器是內(nèi)網(wǎng)。
(2)負(fù)載均衡,通過(guò)反向代理服務(wù)器來(lái)優(yōu)化網(wǎng)站的負(fù)載
7. 透明代理
客戶端向真實(shí)服務(wù)器發(fā)起連接,代理機(jī)冒充服務(wù)器與客戶端建立連接,并以客戶端ip與真實(shí)服務(wù)器建立連接進(jìn)行代理轉(zhuǎn)發(fā)。因此對(duì)于客戶端與服務(wù)器來(lái)說(shuō),代理機(jī)都是透明的。
TCP代理服務(wù)器可以隱藏背后真正TCP服務(wù)器
如此便可以起到保護(hù)真正TCP服務(wù)器的作用。由于TCP代理服務(wù)器工作于應(yīng)用層,所以,黑客對(duì)應(yīng)用層以下級(jí)別的協(xié)議棧的攻擊(比如TCP半連接攻擊)就無(wú)法穿過(guò)TCP代理服務(wù)器,這樣,即使TCP代理服務(wù)器掛了,我們真正的TCP服務(wù)器仍然可以正常運(yùn)行。當(dāng)然,如果黑客是針對(duì)應(yīng)用層進(jìn)行攻擊的,這時(shí),代理服務(wù)器就不起作用的。
保護(hù)TCP服務(wù)器免受應(yīng)用層以下級(jí)別的協(xié)議棧攻擊
當(dāng)黑客攻擊應(yīng)用層以下級(jí)別的協(xié)議棧,我們可以在真正的TCP服務(wù)器前面部署N個(gè)代理服務(wù)器,并將它們分布于不同的地方,這樣,當(dāng)其中一個(gè)代理服務(wù)器因?yàn)樵庥龉舳鴴斓魰r(shí),受影響的只是連接到這臺(tái)代理服務(wù)器的用戶,而其它的代理服務(wù)器上的用戶仍然是正常被服務(wù)的,就像下面這樣:
總結(jié)
- 上一篇: “百度快照劫持”到底是什么意思?
- 下一篇: 无线VoIP技术的现状