丨如何設(shè)計(jì)計(jì)算高可用架構(gòu)_第1頁(yè)
丨如何設(shè)計(jì)計(jì)算高可用架構(gòu)_第2頁(yè)
丨如何設(shè)計(jì)計(jì)算高可用架構(gòu)_第3頁(yè)
丨如何設(shè)計(jì)計(jì)算高可用架構(gòu)_第4頁(yè)
丨如何設(shè)計(jì)計(jì)算高可用架構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ZooKeeper的Leader才能處理寫(xiě)操作請(qǐng)求。第二種策略是設(shè)計(jì)一個(gè)任務(wù)管理器來(lái)管理需要執(zhí)行的計(jì)算任務(wù),服務(wù)器執(zhí)行完任務(wù)后,需要向任務(wù)管理器反饋任務(wù)執(zhí)行結(jié)果,任務(wù)管理器根據(jù)任務(wù)執(zhí)行結(jié)果來(lái)決定是否需要將任務(wù)重新分配到另外的服務(wù)器上執(zhí)行。Nginx將頁(yè)面請(qǐng)求發(fā)送給Web服務(wù)器,而CSS/JS等靜態(tài)文件直接本地緩存。這里的Nginx角色是反向系統(tǒng),但是承擔(dān)了任務(wù)分配器的職責(zé),而不需要Nginx做反向ZooKeeper中的Follower節(jié)點(diǎn),當(dāng)接收到寫(xiě)請(qǐng)求時(shí)會(huì)將請(qǐng)求轉(zhuǎn)發(fā)給Leader節(jié)點(diǎn)處Follower 如果主機(jī)不能夠恢復(fù)(例如,機(jī)器硬盤(pán)損壞,短時(shí)間內(nèi)無(wú)法恢復(fù)),則需要人工操作,將備機(jī)升為主機(jī),然后讓任務(wù)分配器將任務(wù)發(fā)送給新的主機(jī)(即原來(lái)的備機(jī))冷備:備機(jī)上的程序包和配置文件都準(zhǔn)備好,但備機(jī)上的業(yè)務(wù)系統(tǒng)沒(méi)有啟動(dòng)(注意:備機(jī)的服務(wù)器是啟動(dòng)的),主機(jī)故障后,需要人工手工將備機(jī)的業(yè)務(wù)系統(tǒng)啟動(dòng),并將任務(wù)分配器的任務(wù)請(qǐng)求切換發(fā)送給備機(jī)。溫備:備機(jī)上的業(yè)務(wù)系統(tǒng)已經(jīng)啟動(dòng),只是不對(duì)外提供服務(wù),主機(jī)故障后,人工只需要將任務(wù)分配器的任務(wù)請(qǐng)求切換發(fā)送到備機(jī)即可。冷備可以節(jié)省一定的能源,但溫備能夠大大減少手可能系統(tǒng)已經(jīng)發(fā)生問(wèn)題了,但人員還沒(méi)發(fā)現(xiàn),等了1個(gè)小時(shí)才發(fā)現(xiàn)。發(fā)現(xiàn)后人工切換的操作效率也比較低,可能需要半個(gè)小時(shí)才完成切換操作,而且手工操作過(guò)程中容易出錯(cuò)。和高可用中的主備架構(gòu)類(lèi)似,計(jì)算高可用的主備架構(gòu)也比較適合與內(nèi)部管理系統(tǒng)、和高可用中的主從架構(gòu)類(lèi)似,計(jì)算高可用的主從架構(gòu)中的從機(jī)也是要執(zhí)行任務(wù)的。任務(wù)分配器需要將任務(wù)進(jìn)行分類(lèi),確定哪些任務(wù)可以發(fā)送給主機(jī)執(zhí)行,哪些任務(wù)可以發(fā)送給備機(jī)執(zhí)行,其基本的架構(gòu)示意圖如下:正常情況下,主機(jī)執(zhí)行部分計(jì)算任務(wù)(A”),備機(jī)執(zhí)行部分計(jì)算任務(wù)(如圖中的“計(jì)算任務(wù)B”)。如果主機(jī)能夠恢復(fù)(不管是人工恢復(fù)還是自動(dòng)恢復(fù)),任務(wù)分配器繼續(xù)按照原有的設(shè)計(jì)策略分配任務(wù),即計(jì)算任務(wù)A發(fā)送給主機(jī),計(jì)算任務(wù)B發(fā)送給從機(jī)。如果主機(jī)不能夠恢復(fù)(例如,機(jī)器硬盤(pán)損壞,短時(shí)間內(nèi)無(wú)法恢復(fù)),則需要人工操作,將原來(lái)的從機(jī)升級(jí)為主機(jī)(一般只是修改配置即可),增加新的機(jī)器作為從機(jī),新的從機(jī)準(zhǔn)備就緒后,任務(wù)分配器繼續(xù)按照原有的設(shè)計(jì)策略分配任務(wù)。主備架構(gòu)和主從架構(gòu)通過(guò)冗余一臺(tái)服務(wù)器來(lái)提升可用性,且需要人工來(lái)切換主備或者主從。這樣的架構(gòu)雖然簡(jiǎn)單,但存在一個(gè)主要的問(wèn)題:人工操作效率低、容易出錯(cuò)、不處理故障。因此在可用性要求更加嚴(yán)格的場(chǎng)景中,我們需要系統(tǒng)能夠自動(dòng)完成切換操作,這就是高可用集群方案。高可用計(jì)算的集群方案根據(jù)集群中服務(wù)器節(jié)點(diǎn)角色的不同,可以分為兩類(lèi):一類(lèi)是對(duì)稱(chēng)集群,即集群中每個(gè)服務(wù)器的角色都是一樣的,都可以執(zhí)行所有任務(wù);另一類(lèi)是非對(duì)稱(chēng)集群,集群中的服務(wù)器分為多個(gè)不同的角色,不同的角色執(zhí)行不同的任務(wù),例如最常見(jiàn)的Master-Slave需要注意的是,計(jì)算高可用集群包含2臺(tái)服務(wù)器的集群,這點(diǎn)和高可用集群不太一樣。高可用集群把雙機(jī)架構(gòu)和集群架構(gòu)進(jìn)行了區(qū)分;而在計(jì)算高可用集群架構(gòu)中,2臺(tái)對(duì)稱(chēng)集群更通俗的叫法是負(fù)載均衡集群,因此接下來(lái)我使用“負(fù)載均衡集群”這個(gè)通俗的說(shuō)任務(wù)分配策略比較簡(jiǎn)單,輪詢(xún)和隨機(jī)基本就夠了。狀態(tài)檢測(cè)稍微復(fù)雜一些,既要檢測(cè)服務(wù)器的狀態(tài),例如服務(wù)器是否宕機(jī)、網(wǎng)絡(luò)是否正常等;同時(shí)還要檢測(cè)任務(wù)的執(zhí)行狀態(tài),例如任務(wù)是否卡死、是否執(zhí)行時(shí)間過(guò)長(zhǎng)等。常用的做法是任務(wù)分配器和服務(wù)器之間通過(guò)心跳來(lái)傳遞信息,包括服務(wù)器信息和任務(wù)信息,然后根據(jù)實(shí)際情況來(lái)確定狀態(tài)判斷條件。例如,一個(gè)頁(yè)面系統(tǒng),正常情況下頁(yè)面平均會(huì)在500毫秒內(nèi)返回,那么狀態(tài)判斷條件可以設(shè)計(jì)為:1分鐘內(nèi)響應(yīng)時(shí)間超過(guò)1秒(包括超時(shí))的頁(yè)面數(shù)量占了80%時(shí),就認(rèn)例如,一個(gè)統(tǒng)計(jì)任務(wù)系統(tǒng),正常情況下任務(wù)會(huì)在5分鐘內(nèi)執(zhí)行完成,那么狀態(tài)判斷條件可以設(shè)計(jì)為:?jiǎn)蝹€(gè)任務(wù)執(zhí)行時(shí)間超過(guò)10分鐘還沒(méi)有結(jié)束,就認(rèn)為服務(wù)器有故障。Master-SlaveMasterSlave取當(dāng)前存活服務(wù)器點(diǎn)ID最小的服務(wù)器作為Master服務(wù)器AMaster務(wù)器,計(jì)算任務(wù)B發(fā)送給Slave服務(wù)器。當(dāng)指定類(lèi)型的服務(wù)器故障時(shí),需要重新分配角色。例如,Master剩余的Slave服務(wù)器中的一個(gè)重新指定為Master服務(wù)器;如果是Slave服務(wù)器故障,ZAB、RaftLeader的我以ZooKeeper任務(wù)分配器:ZooKeeper中不存在獨(dú)立的任務(wù)分配器節(jié)點(diǎn),每個(gè)ServerFollowerLeader,如果是讀請(qǐng)求就自己角色指定:ZooKeeper通過(guò)ZAB算法來(lái)Leader,當(dāng)Leader故障后,所有的Follower節(jié)點(diǎn)會(huì)暫停讀寫(xiě)操作,開(kāi)始進(jìn)行,直到新的Leader出來(lái)后才繼續(xù)對(duì)提供服務(wù)。這就是今天的全部?jī)?nèi)容,留一道思考題給你吧,計(jì)算高可用架構(gòu)從形式上和高可用架構(gòu) 不得售賣(mài)。頁(yè)面已增加防盜追蹤,將依法其上一 26|高可用架

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論