版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/修改記錄:最后修改時(shí)間:20171212BS和CS的區(qū)別以與優(yōu)缺點(diǎn)C/S又稱Client/Server或客戶/服務(wù)器模式。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、Informix或SQLServer。客戶端需要安裝專用的客戶端軟件。B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如NetscapeNavigator或InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫(kù)。瀏覽器通過(guò)WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。C/S的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。缺點(diǎn)主要只適用于局域網(wǎng)。客戶端需要對(duì)初裝電腦安裝專用的客戶端軟件,升級(jí)需要處理特別處理(重裝軟件或使用自動(dòng)升級(jí)技術(shù))對(duì)客戶端的操作系統(tǒng)一般會(huì)限制用windows,不支持linux等B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用了。甚至可以在線申請(qǐng),通過(guò)公司內(nèi)部的安全認(rèn)證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動(dòng)分配給用戶一個(gè)賬號(hào)進(jìn)入系統(tǒng)。但在做不同的瀏覽器的兼容性編碼,并且不能實(shí)現(xiàn)復(fù)雜前面計(jì)算和展示。熱插拔熱插拔(hot-plugging或HotSwap)即帶電插拔,熱插拔功能就是允許用戶在不關(guān)閉系統(tǒng),不切斷電源的情況下取出和更換損壞的硬盤、電源或板卡等部件,從而提高了系統(tǒng)對(duì)災(zāi)難的與時(shí)恢復(fù)能力、擴(kuò)展性和靈活性等,例如一些面向高端應(yīng)用的磁盤鏡像系統(tǒng)都可以提供磁盤的熱插拔功能。具體用學(xué)術(shù)的說(shuō)法就是:熱替換(Hotreplacement)、熱添加(hotexpansion)和熱升級(jí)(hotupgrade),F(xiàn)ailover失效轉(zhuǎn)移通俗地說(shuō),即當(dāng)A無(wú)法為客戶服務(wù)時(shí),系統(tǒng)能夠自動(dòng)地切換,使B能夠與時(shí)地頂上繼續(xù)為客戶提供服務(wù),且客戶感覺(jué)不到這個(gè)為他提供服務(wù)的對(duì)象已經(jīng)更換。磁盤陣列RAID磁盤陣列(RedundantArraysofIndependentDisks,RAID),有“獨(dú)立磁盤構(gòu)成的具有冗余能力的陣列”之意。磁盤陣列是由很多價(jià)格較便宜的磁盤,組合成一個(gè)容量巨大的磁盤組,利用個(gè)別磁盤提供數(shù)據(jù)所產(chǎn)生加成效果提升整個(gè)磁盤系統(tǒng)效能。利用這項(xiàng)技術(shù),將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個(gè)硬盤上。磁盤陣列還能利用同位檢查(ParityCheck)的觀念,在數(shù)組中任意一個(gè)硬盤故障時(shí),仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時(shí),將數(shù)據(jù)經(jīng)計(jì)算后重新置入新硬盤中。RAID級(jí)別RAID0RAID0是最早出現(xiàn)的RAID模式,即DataStripping數(shù)據(jù)分條技術(shù)。RAID0是組建磁盤陣列中最簡(jiǎn)單的一種形式,只需要2塊以上的硬盤即可,成本低,可以提高整個(gè)磁盤的性能和吞吐量。RAID0沒(méi)有提供冗余或錯(cuò)誤修復(fù)能力,但實(shí)現(xiàn)成本是最低的。RAID0最簡(jiǎn)單的實(shí)現(xiàn)方式就是把N塊同樣的硬盤用硬件的形式通過(guò)智能磁盤控制器或用操作系統(tǒng)中的磁盤驅(qū)動(dòng)程序以軟件的方式串聯(lián)在一起創(chuàng)建一個(gè)大的卷集。在使用中電腦數(shù)據(jù)依次寫入到各塊硬盤中,它的最大優(yōu)點(diǎn)就是可以整倍的提高硬盤的容量。如使用了三塊80GB的硬盤組建成RAID0模式,那么磁盤容量就會(huì)是240GB。其速度方面,各單獨(dú)一塊硬盤的速度完全相同。最大的缺點(diǎn)在于任何一塊硬盤出現(xiàn)故障,整個(gè)系統(tǒng)將會(huì)受到破壞,可靠性僅為單獨(dú)一塊硬盤的1/N。RAID1RAID1稱為磁盤鏡像,原理是把一個(gè)磁盤的數(shù)據(jù)鏡像到另一個(gè)磁盤上,也就是說(shuō)數(shù)據(jù)在寫入一塊磁盤的同時(shí),會(huì)在另一塊閑置的磁盤上生成鏡像文件,在不影響性能情況下最大限度的保證系統(tǒng)的可靠性和可修復(fù)性上,只要系統(tǒng)中任何一對(duì)鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數(shù)量的硬盤出現(xiàn)問(wèn)題時(shí)系統(tǒng)都可以正常運(yùn)行,當(dāng)一塊硬盤失效時(shí),系統(tǒng)會(huì)忽略該硬盤,轉(zhuǎn)而使用剩余的鏡像盤讀寫數(shù)據(jù),具備很好的磁盤冗余能力。雖然這樣對(duì)數(shù)據(jù)來(lái)講絕對(duì)安全,但是成本也會(huì)明顯增加,磁盤利用率為50%,以四塊80GB容量的硬盤來(lái)講,可利用的磁盤空間僅為160GB。另外,出現(xiàn)硬盤故障的RAID系統(tǒng)不再可靠,應(yīng)當(dāng)與時(shí)的更換損壞的硬盤,否則剩余的鏡像盤也出現(xiàn)問(wèn)題,那么整個(gè)系統(tǒng)就會(huì)崩潰。更換新盤后原有數(shù)據(jù)會(huì)需要很長(zhǎng)時(shí)間同步鏡像,外界對(duì)數(shù)據(jù)的訪問(wèn)不會(huì)受到影響,只是這時(shí)整個(gè)系統(tǒng)的性能有所下降。因此,RAID1多用在保存關(guān)鍵性的重要數(shù)據(jù)的場(chǎng)合。RAID0+1RAID0+1名稱上我們便可以看出是RAID0與RAID1的結(jié)合體。在我們單獨(dú)使用RAID1也會(huì)出現(xiàn)類似單獨(dú)使用RAID0那樣的問(wèn)題,即在同一時(shí)間內(nèi)只能向一塊磁盤寫入數(shù)據(jù),不能充分利用所有的資源。為了解決這一問(wèn)題,我們可以在磁盤鏡像中建立帶區(qū)集。因?yàn)檫@種配置方式綜合了帶區(qū)集和鏡像的優(yōu)勢(shì),所以被稱為RAID0+1。把RAID0和RAID1技術(shù)結(jié)合起來(lái),數(shù)據(jù)除分布在多個(gè)盤上外,每個(gè)盤都有其物理鏡像盤,提供全冗余能力,允許一個(gè)以下磁盤故障,而不影響數(shù)據(jù)可用性,并具有快速讀/寫能力。RAID0+1要在磁盤鏡像中建立帶區(qū)集至少4個(gè)硬盤。RAID5RAID3和RAID5都是校驗(yàn)方式。RAID3的工作方式是用一塊磁盤存放校驗(yàn)數(shù)據(jù)。由于任何數(shù)據(jù)的改變都要修改相應(yīng)的數(shù)據(jù)校驗(yàn)信息,存放數(shù)據(jù)的磁盤有好幾個(gè)且并行工作,而存放校驗(yàn)數(shù)據(jù)的磁盤只有一個(gè),這就帶來(lái)了校驗(yàn)數(shù)據(jù)存放時(shí)的瓶頸。RAID5的工作方式是將各個(gè)磁盤生成的數(shù)據(jù)校驗(yàn)切成塊,分別存放到組成陣列的各個(gè)磁盤中去,這樣就緩解了校驗(yàn)數(shù)據(jù)存放時(shí)所產(chǎn)生的瓶頸問(wèn)題,但是分割數(shù)據(jù)與控制存放都要付出速度上的代價(jià)。在RAID5上,讀/寫指針可同時(shí)對(duì)陣列設(shè)備進(jìn)行操作,提供了更高的數(shù)據(jù)流量。RAID5更適合于小數(shù)據(jù)塊和隨機(jī)讀寫的數(shù)據(jù)。在RAID5中有“寫損失”,即每一次寫操作將產(chǎn)生四個(gè)實(shí)際的讀/寫操作,其中兩次讀舊的數(shù)據(jù)與奇偶信息,兩次寫新的數(shù)據(jù)與奇偶信息,適用于讀多寫少的應(yīng)用。當(dāng)其中一個(gè)磁盤數(shù)據(jù)發(fā)生損壞后,利用剩下的磁盤和相應(yīng)的奇偶校驗(yàn)信息重新恢復(fù)/生成丟失的數(shù)據(jù)而不影響數(shù)據(jù)的可用性。至少需要3個(gè)或以上的硬盤。適用于大數(shù)據(jù)量的操作。成本稍高、儲(chǔ)存新強(qiáng)、可靠性強(qiáng)的陣列方式。心跳消息(HeartbeatMessage)心跳消息(HeartbeatMessage)是一種發(fā)送源發(fā)送到接收方的消息,這種消息可以讓接收方確定發(fā)送源是否以與何時(shí)出現(xiàn)故障或終止。通常,心跳消息從發(fā)送源啟動(dòng)時(shí)開(kāi)始發(fā)送,直到發(fā)送源關(guān)閉,期間發(fā)送源會(huì)不間斷的發(fā)送周期性或重復(fù)消息。當(dāng)接收方在某個(gè)消息接收周期內(nèi)未收到消息,接收方可能會(huì)認(rèn)為發(fā)送源已經(jīng)關(guān)閉、出現(xiàn)故障、或者當(dāng)前不可用。心跳消息可能常被用于高可用性或容錯(cuò)處理的目的。雙機(jī)熱備(hotbackup)雙機(jī)熱備名詞解釋從廣義上講,就是對(duì)于重要的服務(wù),使用兩臺(tái)服務(wù)器,互相備份,共同執(zhí)行同一服務(wù)。當(dāng)一臺(tái)服務(wù)器出現(xiàn)故障時(shí),可以由另一臺(tái)服務(wù)器承擔(dān)服務(wù)任務(wù),從而在不需要人工干預(yù)的情況下,自動(dòng)保證系統(tǒng)能持續(xù)提供服務(wù)。雙機(jī)熱備由備用的服務(wù)器解決了在主服務(wù)器故障時(shí)服務(wù)不中斷的問(wèn)題。但在實(shí)際應(yīng)用中,可能會(huì)出現(xiàn)多臺(tái)服務(wù)器的情況,即服務(wù)器集群。雙機(jī)熱備一般情況下需要有共享的存儲(chǔ)設(shè)備。但某些情況下也可以使用兩臺(tái)獨(dú)立的服務(wù)器。實(shí)現(xiàn)雙機(jī)熱備,需要通過(guò)專業(yè)的集群軟件或雙機(jī)軟件。從狹義上講,雙機(jī)熱備特指基于active/standby方式的服務(wù)器熱備。服務(wù)器數(shù)據(jù)包括數(shù)據(jù)庫(kù)數(shù)據(jù)同時(shí)往兩臺(tái)或多臺(tái)服務(wù)器寫,或者使用一個(gè)共享的存儲(chǔ)設(shè)備。在同一時(shí)間內(nèi)只有一臺(tái)服務(wù)器運(yùn)行。當(dāng)其中運(yùn)行著的一臺(tái)服務(wù)器出現(xiàn)故障無(wú)法啟動(dòng)時(shí),另一臺(tái)備份服務(wù)器會(huì)通過(guò)軟件診測(cè)(一般是通過(guò)心跳診斷)將standby機(jī)器激活,保證應(yīng)用在短時(shí)間內(nèi)完全恢復(fù)正常使用。使用雙機(jī)熱備的原因?yàn)榱耸管浻布到y(tǒng)正常運(yùn)轉(zhuǎn),雙機(jī)熱備一般能做到以下功能:對(duì)操作系統(tǒng)的檢測(cè)、對(duì)網(wǎng)絡(luò)的檢測(cè)功能、對(duì)數(shù)據(jù)庫(kù)的檢測(cè)功能、用戶特有程序的熱備、第三方軟件編程能力,雙機(jī)熱備軟件,一旦檢測(cè)到故障后會(huì)自動(dòng)切換到備用服務(wù)器,從而實(shí)現(xiàn)不停機(jī)服務(wù)。詳解如下:服務(wù)器的故障可能由各種原因引起,如設(shè)備故障、操作系統(tǒng)故障、軟件系統(tǒng)故障等等。一般地講,在技術(shù)人員在現(xiàn)場(chǎng)的情況下,恢復(fù)服務(wù)器正??赡苄枰辽?分鐘、幾小時(shí)甚至幾天。從實(shí)際經(jīng)驗(yàn)上看,除非是簡(jiǎn)單地重啟服務(wù)器(可能隱患仍然存在),否則往往需要幾個(gè)小時(shí)以上。而如果技術(shù)人員不在現(xiàn)場(chǎng),則恢復(fù)服務(wù)的時(shí)間就更長(zhǎng)了。而對(duì)于一些重要系統(tǒng)而言,用戶是很難忍受這樣長(zhǎng)時(shí)間的服務(wù)中斷的。因此,就需要通過(guò)雙機(jī)熱備,來(lái)避免長(zhǎng)時(shí)間的服務(wù)中斷,保證系統(tǒng)長(zhǎng)期、可靠的服務(wù)。決定是否使用雙機(jī)熱備,正確的方法是要分析一下系統(tǒng)的重要性以與對(duì)服務(wù)中斷的容忍程度,以此決定是否使用雙機(jī)熱備。即,你的用戶能容忍多長(zhǎng)時(shí)間恢復(fù)服務(wù),如果服務(wù)不能恢復(fù)會(huì)造成多大的影響。在考慮雙機(jī)熱備時(shí),需要注意,一般意義上的雙機(jī)熱備都會(huì)有一個(gè)切換過(guò)程,這個(gè)切換過(guò)程可能是一分鐘左右。在切換過(guò)程中,服務(wù)是有可能短時(shí)間中斷的。但是,當(dāng)切換完成后,服務(wù)將正?;謴?fù)。因此,雙機(jī)熱備不是無(wú)縫、不中斷的,但它能夠保證在出現(xiàn)系統(tǒng)故障時(shí),能夠很快恢復(fù)正常的服務(wù),業(yè)務(wù)不致受到影響。而如果沒(méi)有雙機(jī)熱備,則一旦出現(xiàn)服務(wù)器故障,可能會(huì)出現(xiàn)幾個(gè)小時(shí)的服務(wù)中斷,對(duì)業(yè)務(wù)的影響就可能會(huì)很嚴(yán)重。另有一點(diǎn)需要強(qiáng)調(diào),即服務(wù)器的故障與交換機(jī)、存儲(chǔ)設(shè)備的故障不同,其概念要高得多。原因在于服務(wù)器是比交換機(jī)、存儲(chǔ)設(shè)備復(fù)雜得多的設(shè)備,同時(shí)也是既包括硬件、也包括操作系統(tǒng)、應(yīng)用軟件系統(tǒng)的復(fù)雜系統(tǒng)。不僅設(shè)備故障可能引起服務(wù)中斷,而且軟件方面的問(wèn)題也可能導(dǎo)致服務(wù)器不能正常工作。還應(yīng)指出的是,一些其他的防護(hù)措施如磁盤陣列(RAID)、數(shù)據(jù)備份雖然是非常重要的,但卻不能代替雙機(jī)熱備的作用。3雙機(jī)主從、互備、多點(diǎn)集群主從模式是最標(biāo)準(zhǔn)、最簡(jiǎn)單的雙機(jī)熱備,即是目前通常所說(shuō)的active/standby方式。它使用兩臺(tái)服務(wù)器,一臺(tái)作為主服務(wù)器(Active),運(yùn)行應(yīng)用系統(tǒng)來(lái)提供服務(wù)。另一臺(tái)作為備機(jī),安裝完全一樣的應(yīng)用系統(tǒng),但處于待機(jī)狀態(tài)(Standby)。當(dāng)active服務(wù)器出現(xiàn)故障的時(shí)候,通過(guò)軟件診測(cè)(一般是通過(guò)心跳診斷)將standby機(jī)器激活,保證應(yīng)用在短時(shí)間內(nèi)完全恢復(fù)正常使用。雙機(jī)互備,在雙機(jī)熱備的基礎(chǔ)上,兩個(gè)相對(duì)獨(dú)立的應(yīng)用在兩臺(tái)機(jī)器同時(shí)運(yùn)行,但彼此均設(shè)為備機(jī),當(dāng)某一臺(tái)服務(wù)器出現(xiàn)故障時(shí),另一臺(tái)服務(wù)器可以在短時(shí)間內(nèi)將故障服務(wù)器的應(yīng)用接管過(guò)來(lái),從而保證了應(yīng)用的持續(xù)性。這種方式實(shí)際上是雙機(jī)熱備的一種應(yīng)用。它避免了兩個(gè)應(yīng)用使用四臺(tái)服務(wù)器分別實(shí)現(xiàn)雙機(jī)熱備。但雙機(jī)互備存在著性能瓶頸,即如果進(jìn)行切換后,在一臺(tái)服務(wù)器上就有同時(shí)運(yùn)行兩個(gè)應(yīng)用,有可能負(fù)載過(guò)大。并且,有些情況下會(huì)有不止兩臺(tái)服務(wù)器對(duì)外提供服務(wù)。在這種情況上,多點(diǎn)集群就顯示出了其必要性。多點(diǎn)集群可以理解為雙機(jī)熱備在技術(shù)上的提升。多機(jī)服務(wù)器可以組成一個(gè)集群。根據(jù)應(yīng)用的實(shí)際情況,可以靈活地在這些服務(wù)器上進(jìn)行部署,同時(shí)可以靈活地設(shè)置接管策略。比如,可以由一臺(tái)服務(wù)器作為其他所有服務(wù)器的備機(jī),也可以設(shè)置多重的接管關(guān)系,等等。這樣,就可以充分地利用服務(wù)器的資源,同時(shí)保證系統(tǒng)的高可用性。常見(jiàn)部署雙主機(jī)共享陳列浮動(dòng)IP微軟Sqlserver集群(MSCS群集),oralceOFS(OracleFailSafe),ServHA等,下面以ServH來(lái)說(shuō)原理ServHA為運(yùn)行在Windows平臺(tái)和Linux平臺(tái)上的雙機(jī)集群產(chǎn)品,其負(fù)責(zé)管理2臺(tái)主機(jī)運(yùn)行各自的應(yīng)用系統(tǒng),當(dāng)主機(jī)或主機(jī)上的軟件出現(xiàn)故障時(shí),不需人工干預(yù),雙機(jī)集群中另外主機(jī)通過(guò)心跳線路,可以檢測(cè)出該故障主機(jī),準(zhǔn)確、快速地將原主機(jī)的應(yīng)用系統(tǒng)移交到另一臺(tái)主機(jī)上繼續(xù)運(yùn)行,實(shí)現(xiàn)整個(gè)系統(tǒng)的不間斷運(yùn)行,從而保證整個(gè)系統(tǒng)對(duì)外服務(wù)的正常,為企事業(yè)機(jī)構(gòu)24小時(shí)×365天的關(guān)鍵業(yè)務(wù)應(yīng)用提供了強(qiáng)大的保障。
ServHA雙機(jī)系統(tǒng)的兩臺(tái)服務(wù)器(主機(jī))都與磁盤陣列(共享存儲(chǔ))系統(tǒng)連接,用戶的操作系統(tǒng)、應(yīng)用軟件和ServHA軟件分別安裝在兩臺(tái)主機(jī)上,數(shù)據(jù)庫(kù)等共享數(shù)據(jù)存放在存儲(chǔ)系統(tǒng)上,兩臺(tái)主機(jī)之間通過(guò)私用(或公用)網(wǎng)絡(luò)建立心跳連接。配置好的系統(tǒng)主機(jī)開(kāi)始工作后,ServHA服務(wù)開(kāi)始監(jiān)控系統(tǒng),通過(guò)心跳連接,每臺(tái)主機(jī)上的ServHA服務(wù)都可監(jiān)控另一臺(tái)主機(jī)的狀態(tài)。當(dāng)工作主機(jī)發(fā)生故障時(shí),心跳信息就會(huì)產(chǎn)生變化,這種變化可以通過(guò)心跳連接被ServHA服務(wù)捕捉。當(dāng)捕捉到這種變化后ServHA就會(huì)控制系統(tǒng)進(jìn)行主機(jī)切換,即備份機(jī)啟動(dòng)和工作主機(jī)一樣的應(yīng)用程序接管工作主機(jī)的工作(包括提供TCP/IP網(wǎng)絡(luò)服務(wù)、存儲(chǔ)系統(tǒng)的存取等服務(wù))并進(jìn)行報(bào)警,提示管理人員對(duì)故障主機(jī)進(jìn)行維修。當(dāng)維修完畢后,可以根據(jù)ServHA的設(shè)定自動(dòng)或手動(dòng)再切換回來(lái),也可以不切換,此時(shí)維修好的主機(jī)就作為備份機(jī),雙機(jī)系統(tǒng)繼續(xù)工作。ServHA實(shí)現(xiàn)容錯(cuò)功能的關(guān)鍵在于,對(duì)客戶端來(lái)說(shuō)主機(jī)是透明的,當(dāng)系統(tǒng)發(fā)生錯(cuò)誤而進(jìn)行切換時(shí),主機(jī)的切換在客戶端看來(lái)沒(méi)有變化,所有基于主機(jī)的應(yīng)用都仍然正常運(yùn)行。ServHA采用了IP漂移技術(shù)來(lái)實(shí)現(xiàn)此功能??蛻舳送ㄟ^(guò)虛擬地址和工作主機(jī)通訊,無(wú)論系統(tǒng)是否發(fā)生切換,虛擬地址始終指向工作主機(jī)。在進(jìn)行網(wǎng)絡(luò)服務(wù)時(shí),ServHA提供一個(gè)邏輯的虛擬地址,任何一個(gè)客戶端需要請(qǐng)求服務(wù)時(shí)只需要使用這個(gè)虛擬地址。正常運(yùn)行時(shí),虛擬地址與網(wǎng)絡(luò)服務(wù)由主服務(wù)器提供。當(dāng)主服務(wù)器出現(xiàn)故障時(shí),ServHA會(huì)將虛擬地址轉(zhuǎn)移到另外一臺(tái)服務(wù)器的網(wǎng)卡上,繼續(xù)提供網(wǎng)絡(luò)服務(wù)。切換完成后,在客戶端看來(lái)系統(tǒng)并沒(méi)有出現(xiàn)故障,網(wǎng)絡(luò)服務(wù)仍然可以使用。除IP地址外,ServHA還可以提供虛擬的計(jì)算機(jī)別名供客戶端訪問(wèn)。對(duì)于數(shù)據(jù)庫(kù)服務(wù),當(dāng)有主服務(wù)器出現(xiàn)故障時(shí),另外一臺(tái)服務(wù)器就會(huì)自動(dòng)接管,同時(shí)啟動(dòng)數(shù)據(jù)庫(kù)和應(yīng)用程序,使用戶數(shù)據(jù)庫(kù)可以正常操作負(fù)載均衡(LoadBalance)概念網(wǎng)絡(luò)的負(fù)載均衡是一種動(dòng)態(tài)均衡技術(shù),常見(jiàn)的實(shí)現(xiàn)方式是通過(guò)一些工具實(shí)時(shí)地分析數(shù)據(jù)包,掌握網(wǎng)絡(luò)中的數(shù)據(jù)流量狀況,把任務(wù)合理均衡地分配出去。這種技術(shù)基于現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu),提供了一種擴(kuò)展服務(wù)器帶寬和增加服務(wù)器吞吐量的廉價(jià)有效的方法,加強(qiáng)了網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高了網(wǎng)絡(luò)的靈活性和可用性。(對(duì)于數(shù)據(jù)流量過(guò)大的網(wǎng)絡(luò)中,往往單一設(shè)備無(wú)法承擔(dān),需要多臺(tái)設(shè)備進(jìn)行數(shù)據(jù)分流,而負(fù)載均衡器就是用來(lái)將數(shù)據(jù)分流到多臺(tái)設(shè)備的一個(gè)轉(zhuǎn)發(fā)器。)日常生活中到處都能看到“負(fù)載均衡”,一個(gè)超市的收營(yíng)員高峰期只能服務(wù)10位顧客,當(dāng)做活動(dòng)時(shí)有20位顧客需要服務(wù)的話可能就會(huì)排長(zhǎng)隊(duì),這樣購(gòu)物體驗(yàn)將會(huì)很差(就像客戶抱怨系統(tǒng)/網(wǎng)站訪問(wèn)太慢)。最簡(jiǎn)單的辦法就是再招個(gè)營(yíng)業(yè)員,重新開(kāi)通一個(gè)出口。負(fù)載均衡的核心就是“分?jǐn)倝毫Α薄?/p>
負(fù)載均衡系統(tǒng)負(fù)載均衡系統(tǒng):負(fù)載均衡又有DNS負(fù)載均衡(比較常用)、IP負(fù)載均衡、反向代理負(fù)載均衡等,也就是在集群中有服務(wù)器A、B、C,它們都是互不影響,互不相干的,任何一臺(tái)的機(jī)器宕了,都不會(huì)影響其他機(jī)器的運(yùn)行,當(dāng)用戶來(lái)一個(gè)請(qǐng)求,有負(fù)載均衡器的算法決定由哪臺(tái)機(jī)器來(lái)處理,假如你的算法是采用round算法,有用戶a、b、c,那么分別由服務(wù)器A、B、C來(lái)處理Haproxy介紹haproxy是一個(gè)基于TCP\HTTP反向代理的高可用性負(fù)載均衡器,具體以下特點(diǎn):支持對(duì)cookie、HTTP頭的添加/修改/刪除;基于cookie可客戶端對(duì)同一服務(wù)器的持繼請(qǐng)求;有將檢測(cè)失敗的服務(wù)器從服務(wù)群中排去和檢測(cè)成功后將服務(wù)器再加到服務(wù)群中的能力;可設(shè)定服務(wù)器的權(quán)重;還具有簡(jiǎn)單TCP服務(wù)器負(fù)載能力;應(yīng)用實(shí)例如圖:某WEB服務(wù)網(wǎng)站具有44-245兩臺(tái)真實(shí)服務(wù)器(實(shí)際節(jié)點(diǎn)可以在2-8臺(tái)),在haproxy具有雙ip,公網(wǎng)ip211.xx.xx.90,內(nèi)部ip,對(duì)外訪問(wèn)ip為211.xx.xx.90正常情況由haproxy完成對(duì)兩臺(tái)服務(wù)器的請(qǐng)求分發(fā),由于有服務(wù)器狀態(tài)檢查,所以在真實(shí)服務(wù)器只有還有一臺(tái)服務(wù)器工作,客戶端也不會(huì)感知。F5交換機(jī)F5BIG-IP用作HTTP負(fù)載均衡器的主要功能:①、F5BIG-IP提供12種靈活的算法將所有流量均衡的分配到各個(gè)服務(wù)器,而面對(duì)用戶,只是一臺(tái)虛擬服務(wù)器。②、F5BIG-IP可以確認(rèn)應(yīng)用程序能否對(duì)請(qǐng)求返回對(duì)應(yīng)的數(shù)據(jù)。假如F5BIG-IP后面的某一臺(tái)服務(wù)器發(fā)生服務(wù)停止、死機(jī)等故障,F(xiàn)5會(huì)檢查出來(lái)并將該服務(wù)器標(biāo)識(shí)為宕機(jī),從而不將用戶的訪問(wèn)請(qǐng)求傳送到該臺(tái)發(fā)生故障的服務(wù)器上。這樣,只要其它的服務(wù)器正常,用戶的訪問(wèn)就不會(huì)受到影響。宕機(jī)一旦修復(fù),F(xiàn)5BIG-IP就會(huì)自動(dòng)查證應(yīng)用已能對(duì)客戶請(qǐng)求作出正確響應(yīng)并恢復(fù)向該服務(wù)器傳送。③、F5BIG-IP具有動(dòng)態(tài)Session的會(huì)話保持功能。④、F5BIG-IP的iRules功能可以做HTTP內(nèi)容過(guò)濾,根據(jù)不同的域名、URL,將訪問(wèn)請(qǐng)求傳送到不同的服務(wù)器。什么是高可用HA(HighAvailability)“腦裂"在涉與到高可用性時(shí),經(jīng)常會(huì)聽(tīng)到”腦裂“,到底啥是”腦裂“?一句話:當(dāng)兩(多)個(gè)節(jié)點(diǎn)同時(shí)認(rèn)為自已是唯一處于活動(dòng)狀態(tài)的服務(wù)器從而出現(xiàn)爭(zhēng)用資源的情況,這種爭(zhēng)用資源的場(chǎng)景即是所謂的“腦裂”(split-brain)或”區(qū)間集群“(HeartBeat原理:HeartBeat運(yùn)行于備用主機(jī)上的Heartbeat可以通過(guò)以太網(wǎng)連接檢測(cè)主服務(wù)器的運(yùn)行狀態(tài),一旦其無(wú)法檢測(cè)到主服務(wù)器的"心跳"則自動(dòng)接管主服務(wù)器的資源。通常情況下,主、備服務(wù)器間的心跳連接是一個(gè)獨(dú)立的物理連接,這個(gè)連接可以是串行線纜、一個(gè)由"交叉線"實(shí)現(xiàn)的以太網(wǎng)連接。Heartbeat甚至可同時(shí)通過(guò)多個(gè)物理連接檢測(cè)主服務(wù)器的工作狀態(tài),而其只要能通過(guò)其中一個(gè)連接收到主服務(wù)器處于活動(dòng)狀態(tài)的信息,就會(huì)認(rèn)為主服務(wù)器處于正常狀態(tài)。從實(shí)踐經(jīng)驗(yàn)的角度來(lái)說(shuō),建議為Heartbeat配置多條獨(dú)立的物理連接,以避免Heartbeat通信線路本身存在單點(diǎn)故障。在“雙機(jī)熱備”高可用(HA)系統(tǒng)中,當(dāng)聯(lián)系2個(gè)節(jié)點(diǎn)的“心跳線”斷開(kāi)時(shí),本來(lái)為一整體、動(dòng)作協(xié)調(diào)的HA系統(tǒng),就分裂成為2個(gè)獨(dú)立的個(gè)體。由于相互失去了聯(lián)系,都以為是對(duì)方出了故障,2個(gè)節(jié)點(diǎn)上的HA軟件像“裂腦人”一樣,“本能”地爭(zhēng)搶“共享資源”、爭(zhēng)起“應(yīng)用服務(wù)”,就會(huì)發(fā)生嚴(yán)重后果:或者共享資源被瓜分、2邊“服務(wù)”都起不來(lái)了;或者2邊“服務(wù)”都起來(lái)了,但同時(shí)讀寫“共享存儲(chǔ)”,導(dǎo)致數(shù)據(jù)損壞(常見(jiàn)如數(shù)據(jù)庫(kù)輪詢著的聯(lián)機(jī)日志出錯(cuò))。運(yùn)行于備用主機(jī)上的Heartbeat可以通過(guò)以太網(wǎng)連接檢測(cè)主服務(wù)器的運(yùn)行狀態(tài),一旦其無(wú)法檢測(cè)到主服務(wù)器的“心跳”則自動(dòng)接管主服務(wù)器的資源。通常情況下,主、備服務(wù)器間的心跳連接是一個(gè)獨(dú)立的物理連接,這個(gè)連接可以是串行線纜、一個(gè)由“交叉線”實(shí)現(xiàn)的以太網(wǎng)連接。Heartbeat甚至可同時(shí)通過(guò)多個(gè)物理連接檢測(cè)主服務(wù)器的工作狀態(tài),而其只要能通過(guò)其中一個(gè)連接收到主服務(wù)器處于活動(dòng)狀態(tài)的信息,就會(huì)認(rèn)為主服務(wù)器處于正常狀態(tài)。從實(shí)踐經(jīng)驗(yàn)的角度來(lái)說(shuō),建議為Heartbeat配置多條獨(dú)立的物理連接,以避免Heartbeat通信線路本身存在單點(diǎn)故障。1、串行電纜:被認(rèn)為是比以太網(wǎng)連接安全性稍好些的連接方式,因?yàn)閔acker無(wú)法通過(guò)串行連接運(yùn)行諸如telnet、ssh或rsh類的程序,從而可以降低其通過(guò)已劫持的服務(wù)器再次侵入備份服務(wù)器的幾率。但串行線纜受限于可用長(zhǎng)度,因此主、備服務(wù)器的距離必須非常短。2、以太網(wǎng)連接:使用此方式可以消除串行線纜的在長(zhǎng)度方面限制,并且可以通過(guò)此連接在主備服務(wù)器間同步文件系統(tǒng),從而減少了從正常通信連接帶寬的占用。基于冗余的角度考慮,應(yīng)該在主、備服務(wù)器使用兩個(gè)物理連接傳輸heartbeat的控制信息;這樣可以避免在一個(gè)網(wǎng)絡(luò)或線纜故障時(shí)導(dǎo)致兩個(gè)節(jié)點(diǎn)同時(shí)認(rèn)為自已是唯一處于活動(dòng)狀態(tài)的服務(wù)器從而出現(xiàn)爭(zhēng)用資源的情況,這種爭(zhēng)用資源的場(chǎng)景即是所謂的“腦裂”(split-brain)或“partitionedcluster”。在兩個(gè)節(jié)點(diǎn)共享同一個(gè)物理設(shè)備資源的情況下,腦裂會(huì)產(chǎn)生相當(dāng)可怕的后果。為了避免出現(xiàn)腦裂,可采用下面的預(yù)防措施:添加冗余的心跳線,例如雙線條線。盡量減少“裂腦”發(fā)生機(jī)會(huì)。啟用磁盤鎖。正在服務(wù)一方鎖住共享磁盤,“裂腦”發(fā)生時(shí),讓對(duì)方完全“搶不走”共享磁盤資源。但使用鎖磁盤也會(huì)有一個(gè)不小的問(wèn)題,如果占用共享盤的一方不主動(dòng)“解鎖”,另一方就永遠(yuǎn)得不到共享磁盤。現(xiàn)實(shí)中假如服務(wù)節(jié)點(diǎn)突然死機(jī)或崩潰,就不可能執(zhí)行解鎖命令。后備節(jié)點(diǎn)也就接管不了共享資源和應(yīng)用服務(wù)。于是有人在HA中設(shè)計(jì)了“智能”鎖。即,正在服務(wù)的一方只在發(fā)現(xiàn)心跳線全部斷開(kāi)(察覺(jué)不到對(duì)端)時(shí)才啟用磁盤鎖。平時(shí)就不上鎖了。設(shè)置仲裁機(jī)制。例如設(shè)置參考IP(如網(wǎng)關(guān)IP),當(dāng)心跳線完全斷開(kāi)時(shí),2個(gè)節(jié)點(diǎn)都各自ping一下參考IP,不通則表明斷點(diǎn)就出在本端,不僅“心跳”、還兼對(duì)外“服務(wù)”的本端網(wǎng)絡(luò)鏈路斷了,即使啟動(dòng)(或繼續(xù))應(yīng)用服務(wù)也沒(méi)有用了,那就主動(dòng)放棄競(jìng)爭(zhēng),讓能夠ping通參考IP的一端去起服務(wù)。更保險(xiǎn)一些,ping不通參考IP的一方干脆就自我重啟,以徹底釋放有可能還占用著的那些共享資源。輪詢和推送模式應(yīng)用系統(tǒng)信息交互過(guò)程通常是客戶端發(fā)出一個(gè)請(qǐng)求,服務(wù)器端接收和審核完請(qǐng)求后進(jìn)行處理并返回結(jié)果給客戶端,然后客戶端將信息呈現(xiàn)出來(lái),這種機(jī)制對(duì)于信息變化不是特別頻繁的應(yīng)用尚能相安無(wú)事,但是對(duì)于那些實(shí)時(shí)要求比較高的應(yīng)用來(lái)說(shuō),比如說(shuō)在線游戲、在線證券、設(shè)備監(jiān)控、新聞在線播報(bào)、RSS訂閱推送等等,當(dāng)客戶端準(zhǔn)備呈現(xiàn)這些信息的時(shí)候,這些信息在服務(wù)器端可能已經(jīng)過(guò)時(shí)了。所以保持客戶端和服務(wù)器端的信息與時(shí)更新是應(yīng)用的關(guān)鍵要素,開(kāi)發(fā)人員想實(shí)現(xiàn)與時(shí)更新信息的功能,其中最常用的就是輪詢和推送技術(shù),輪詢模式:由客戶端定時(shí)向服務(wù)器查詢,流程為:如果設(shè)定這客戶端每2秒輪詢一次,那么客戶端每2秒就會(huì)發(fā)送一次請(qǐng)求,相應(yīng)的服務(wù)器端每2秒就要響應(yīng)這個(gè)客戶端的一次請(qǐng)求。而實(shí)際上服務(wù)器端可能1秒鐘后就有更新,也可能1分鐘后才有更新。對(duì)于1秒鐘就有更新的,客戶端至少會(huì)有1秒鐘的延時(shí);而1分鐘后才有更新的,只有最后一次查詢有意義,這一分鐘內(nèi)的輪詢其實(shí)都是沒(méi)有必要的,服務(wù)器端和客戶端均有資源的浪費(fèi),本方式取的過(guò)程中如果網(wǎng)絡(luò)故障,客戶端重新查詢就可以,編程實(shí)現(xiàn)簡(jiǎn)單。推送模式:服務(wù)器如果有信息,馬上主動(dòng)給客戶端發(fā)送,流程為:客戶端發(fā)送一次請(qǐng)求后馬上掛起等待服務(wù)器端響應(yīng),可能1秒,也可能10秒鐘,也可能1分鐘。如果服務(wù)器端是1秒就有更新,那么到1秒鐘時(shí)客戶端馬上就收到更新了,如果是1分鐘才有更新,那么整個(gè)一分鐘客戶端也只請(qǐng)求一次,服務(wù)器也只會(huì)相應(yīng)一次,這個(gè)跟輪詢的區(qū)別是不是已經(jīng)很清楚了,本方法:如果推的過(guò)程中由于網(wǎng)絡(luò)的原因失敗,服務(wù)端要進(jìn)行重發(fā)考慮的處理,實(shí)現(xiàn)過(guò)程中關(guān)注的問(wèn)提多,編程實(shí)現(xiàn)復(fù)雜短連接和長(zhǎng)連接的區(qū)別首先介紹下短鏈接和長(zhǎng)連接的區(qū)別:
短連接
連接->傳輸數(shù)據(jù)->關(guān)閉連接
比如HTTP是無(wú)狀態(tài)的的短鏈接,瀏覽器和服務(wù)器每進(jìn)行一次HTTP操作,就建立一次連接,但任務(wù)結(jié)束就中斷連接。
也可以這樣說(shuō):短連接是指SOCKET連接后,發(fā)送接收完數(shù)據(jù)后馬上斷開(kāi)連接。
因?yàn)檫B接后接收了數(shù)據(jù)就斷開(kāi)了,所以每次數(shù)據(jù)接受處理不會(huì)有聯(lián)系。長(zhǎng)連接
連接->傳輸數(shù)據(jù)->保持連接->傳輸數(shù)據(jù)->->直到一方關(guān)閉連接,多是客戶端關(guān)閉連接。
長(zhǎng)連接指建立SOCKET連接后不管是否使用都保持連接,但安全性較差。什么時(shí)候用長(zhǎng)連接,短連接?
長(zhǎng)連接多用于操作頻繁,點(diǎn)對(duì)點(diǎn)的通訊,而且連接數(shù)不能太多情況,。每個(gè)TCP連接都需要三步握手,這需要時(shí)間,如果每個(gè)操作都是先連接,再操作的話那么處理速度會(huì)降低很多,所以每個(gè)操作完后都不斷開(kāi),次處理時(shí)直接發(fā)送數(shù)據(jù)包就OK了,不用建立TCP連接。例如:數(shù)據(jù)庫(kù)的連接用長(zhǎng)連接,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 眉山藥科職業(yè)學(xué)院《軟件工程與》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度校園食堂承包與食品安全監(jiān)管合同3篇
- 2024年度汽車貸款信用保證保險(xiǎn)合同3篇
- 2024年標(biāo)準(zhǔn)版房地產(chǎn)項(xiàng)目資本金監(jiān)管協(xié)議版B版
- 2024年版:教育貸款申請(qǐng)合同3篇
- 影調(diào)的造型作用
- 呂梁師范高等??茖W(xué)校《中國(guó)城市發(fā)展史》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024全新指紋鎖智能家居控制系統(tǒng)集成合同2篇
- 2024年特色手工藝品買賣合同詳細(xì)
- 2024年標(biāo)準(zhǔn)膩?zhàn)邮┕趧?wù)分包合同樣本版B版
- 燕麥?zhǔn)称穭?chuàng)新工廠項(xiàng)目環(huán)境影響評(píng)價(jià)報(bào)告
- 世界變局中的國(guó)家海權(quán)智慧樹(shù)知到課后章節(jié)答案2023年下大連海洋大學(xué)
- 高考數(shù)學(xué)數(shù)列大題訓(xùn)練
- 體量與力量-雕塑的美感-課件
- 小學(xué)生三好學(xué)生競(jìng)選演講稿PPT幻燈片
- 關(guān)于新能源汽車的論文1500字
- 物業(yè)消防系統(tǒng)管理規(guī)程
- 仿寫句子專題訓(xùn)練課件
- 車輛檢修地溝設(shè)計(jì)方案
- 稽留流產(chǎn)【婦產(chǎn)科】-課件
- 計(jì)算機(jī)應(yīng)用基礎(chǔ) Excel制作行業(yè)狀況調(diào)查表
評(píng)論
0/150
提交評(píng)論