集群和負(fù)載均衡的雙生關(guān)系
筆者學(xué)習(xí)負(fù)載均衡的知識(shí)也有一段時(shí)間,最初接觸負(fù)載均衡,總是和集群撤不開(kāi)關(guān)系。那么,為了讓更多的初學(xué)者能更好,更全面,更深入的理解負(fù)載均衡和集群的的關(guān)系,在此,為大家整理了這篇文章,希望大家能從中搞清楚兩者的關(guān)系??偟膩?lái)說(shuō),這兩者是雙生的概念,如果沒(méi)有集群,人們不會(huì)法陣負(fù)載均衡技術(shù),沒(méi)有負(fù)載均衡,集群也不能更好的發(fā)展。
什么是cluster技術(shù)
Cluster技術(shù)發(fā)展多年了,但其實(shí)并沒(méi)有一個(gè)非常準(zhǔn)確的定義和分類(lèi),不同的人有不同的理解。其實(shí),叫什么無(wú)所謂,只要能夠?qū)τ脩?hù)有益就可以了。就個(gè)人理解而言,cluster有以下幾種,當(dāng)然前面說(shuō)過(guò),不同的人有不同的理解,大家可以充分討論。我的這些分類(lèi)更偏重于工程而不是技術(shù)性。
1. HA集群
實(shí)現(xiàn)高可用性,但對(duì)單個(gè)應(yīng)用性能沒(méi)有提高,市場(chǎng)上大部分產(chǎn)品都是屬于這類(lèi),技術(shù)上也較簡(jiǎn)單。
2. IP負(fù)載均衡集群
利用IP技術(shù)實(shí)現(xiàn)對(duì)通用IP應(yīng)用的支持。這種技術(shù)并不是很新,最早是在硬件上面采用的,Linux出現(xiàn)后才有了很多純軟件的模式,這也是open source帶來(lái)的好處吧
3.并行計(jì)算集群
包括了一些象PVM,beowulf這樣的信息傳遞機(jī)制和API庫(kù),也有任務(wù)調(diào)度產(chǎn)品,當(dāng)然技術(shù)上最難的是并行編譯/并行系統(tǒng)等更智能化的產(chǎn)品
4.應(yīng)用負(fù)載均衡集群
雖然cluster的***目的是實(shí)現(xiàn)真正的與應(yīng)用程序無(wú)關(guān)的動(dòng)態(tài)負(fù)載均衡,但由于技術(shù)上的限制,現(xiàn)在都只能在特殊的應(yīng)用中實(shí)現(xiàn),需要修改應(yīng)用程序,所以并沒(méi)有通用產(chǎn)品,大多是廠商有自己的并行版本。例如oracle paraller server.
以上基本是按照工程或者說(shuō)產(chǎn)品的角度劃分的,和技術(shù)上劃分應(yīng)該有一定區(qū)別。
下面是一篇很早以前寫(xiě)的東西,當(dāng)時(shí)是為了媒體宣傳寫(xiě)的,有一些商業(yè)味道在里面,有些地方技術(shù)上也不完全正確。現(xiàn)在給大家附上是想交換一下觀點(diǎn)。并不是宣傳Turbolinux公司的產(chǎn)品(本人是Turbolinux員工),確實(shí)是實(shí)在懶得改了,雖然這種商業(yè)性文章在公共社區(qū)里發(fā)表犯了大忌。只是供大家參考,關(guān)于Turbolinux產(chǎn)品優(yōu)劣不參與討論。請(qǐng)大家理解。一直是不參與linux社區(qū)討論的,這次是因?yàn)閷?duì)cluster接觸了比較長(zhǎng)的時(shí)間,已經(jīng)有了很大的興趣,所以注冊(cè)了來(lái)灌水。
隨著Internet/Intranet應(yīng)用的日益廣泛,計(jì)算機(jī)系統(tǒng)的重要性也日益上升。低故障率和高性能向來(lái)是人們追求的主要目標(biāo),但對(duì)于單臺(tái)服務(wù)器來(lái)講,這兩個(gè)問(wèn)題是無(wú)法解決的。
◆可用性——很多服務(wù)器都宣稱(chēng)已經(jīng)達(dá)到了99%的可用性。這個(gè)數(shù)字意味著什么呢?也就是說(shuō)每年會(huì)有1%的非預(yù)計(jì)停機(jī)時(shí)間,讓我們來(lái)具體算一下。 365(天/年)×24(小時(shí)/天)×1%=87.6 (小時(shí)/年)。這每年87.6小時(shí)的停機(jī)時(shí)間對(duì)于要求24×7連續(xù)服務(wù)的企業(yè)來(lái)說(shuō)簡(jiǎn)直就是災(zāi)難。
◆高性能——假設(shè)一般的桌面機(jī)每秒能夠處理幾千個(gè)請(qǐng)求,而IA服務(wù)器每秒能夠處理幾萬(wàn)個(gè)請(qǐng)求。那么對(duì)于需要每秒處理幾十萬(wàn)個(gè)請(qǐng)求的企業(yè)來(lái)說(shuō),如果不采用集群技術(shù),唯一的選擇就是購(gòu)買(mǎi)更加高檔的中、小型計(jì)算機(jī)。如果這樣做,雖然系統(tǒng)性能只提高了十倍,但其購(gòu)買(mǎi)價(jià)格和維護(hù)費(fèi)用就將會(huì)上升幾十倍甚至更多。
集群技術(shù)的出現(xiàn)和發(fā)展則很好的解決了這兩個(gè)問(wèn)題。#p#
集群
集群就是由一些互相連接在一起的計(jì)算機(jī)構(gòu)成的一個(gè)并行或分布式系統(tǒng),從外部來(lái)看,它們僅僅是一個(gè)系統(tǒng),對(duì)外提供統(tǒng)一的服務(wù)。
集群技術(shù)本身有很多種分類(lèi),市場(chǎng)上的產(chǎn)品也很多,都沒(méi)有很標(biāo)準(zhǔn)的定義。一般可以分為以下幾種:
1. 基于冗余的集群
嚴(yán)格來(lái)講,這種冗余系統(tǒng)并不能叫做真正的集群,因?yàn)樗荒軌蛱岣呦到y(tǒng)的可用性,卻無(wú)法提高系統(tǒng)的整體性能。
有以下幾種類(lèi)型。
A. 容錯(cuò)機(jī)
特點(diǎn)是在一臺(tái)機(jī)器內(nèi)部對(duì)其所有的硬件部件都進(jìn)行冗余(包括硬盤(pán)、控制卡、總線(xiàn)、電源等等)。
能夠基本做到與軟件系統(tǒng)無(wú)關(guān),而且可實(shí)現(xiàn)無(wú)縫切換,但價(jià)格極其昂貴。
典型市場(chǎng)產(chǎn)品:Compaq NonStop(Tandem),Micron(NetFrame),Straus
B. 基于系統(tǒng)鏡像的雙機(jī)系統(tǒng)
特點(diǎn)是利用雙機(jī),將系統(tǒng)的數(shù)據(jù)和運(yùn)行狀態(tài)(包括內(nèi)存中的數(shù)據(jù))進(jìn)行鏡像,從而實(shí)現(xiàn)熱備份的目的。
能夠做到無(wú)縫切換,但因?yàn)椴捎密浖刂?占用系統(tǒng)資源較大,而且由于兩臺(tái)機(jī)器需要完全一樣的配置,所以性能價(jià)格比太低。
典型市場(chǎng)產(chǎn)品:Novel SFT III,Marathon Endurance 4000 for NT
C. 基于系統(tǒng)切換的雙機(jī)系統(tǒng)
特點(diǎn)是利用雙機(jī),將系統(tǒng)的數(shù)據(jù)(僅指硬盤(pán)數(shù)據(jù))進(jìn)行鏡像,在主機(jī)失效的情況下從機(jī)將進(jìn)行系統(tǒng)一級(jí)的切換。
性能價(jià)格比適中,但無(wú)法實(shí)現(xiàn)無(wú)縫切換。
典型市場(chǎng)產(chǎn)品:Legato(Vinca)StandbyServer for NetWare,Savoir(WesternMicro)SavWareHA(Sentinel),Compaq StandbyServer
2. 基于應(yīng)用程序切換的集群
特點(diǎn)是當(dāng)集群中的某個(gè)節(jié)點(diǎn)故障時(shí),其它節(jié)點(diǎn)可以進(jìn)行應(yīng)用程序一級(jí)的切換,所以所有節(jié)點(diǎn)在正常狀態(tài)下都可以對(duì)外提供自己的服務(wù),也被成為靜態(tài)的負(fù)載均衡方式。
性能價(jià)格比高,但也無(wú)法實(shí)現(xiàn)無(wú)縫切換,而且對(duì)單個(gè)應(yīng)用程序本身無(wú)法做到負(fù)載均衡。
典型市場(chǎng)產(chǎn)品:Legato(Vinca)Co-StandbyServer for NT,Novel HA Server,Microsoft Cluster Server,DEC Cluster for NT,Legato Octopus,Legato FullTime,NeoHigh Rose HA,SUN Clusters, Veritas Cluster Server (FirstWatch),CA SurvivIT,1776
3. 基于并行計(jì)算的集群
主要應(yīng)用于科學(xué)計(jì)算、大任務(wù)量的計(jì)算等環(huán)境。有并行編譯、進(jìn)程通訊、任務(wù)分發(fā)等多種實(shí)現(xiàn)方法。
典型市場(chǎng)產(chǎn)品:TurboLinux enFuzion,Beowulf,Supercomputer Architectures,Platform
4. 基于動(dòng)態(tài)負(fù)載均衡的集群
所有節(jié)點(diǎn)對(duì)外提供相同的服務(wù),這樣可以實(shí)現(xiàn)對(duì)單個(gè)應(yīng)用程序的負(fù)載均衡,而且同時(shí)提供了高可用性。
性能價(jià)格比極高,但目前無(wú)法支持?jǐn)?shù)據(jù)庫(kù)。
典型市場(chǎng)產(chǎn)品:TurboCluster Server,Linux Virtua Server,F5 BigIP,Microsoft Windows NT Load Balance Service