號(hào)碼攜帶集中管理系統(tǒng)的高可用技術(shù)應(yīng)用
1 引言
本文引用地址:http://www.ex-cimer.com/article/157151.htm在號(hào)碼攜帶系統(tǒng)中,CSMS(集中管理系統(tǒng))匯總著全國所有運(yùn)營商號(hào)碼攜帶用戶的基本數(shù)據(jù)和號(hào)碼攜帶規(guī)則,扮演著號(hào)碼攜帶業(yè)務(wù)提供管理者和仲裁者的角色,地位十分重要。CSMS和運(yùn)營商的號(hào)碼攜帶營業(yè)生產(chǎn)系統(tǒng)一起,實(shí)時(shí)為用戶提供號(hào)碼攜帶申請(qǐng)業(yè)務(wù),必須按照電信級(jí)系統(tǒng)的要求,提供24h×7d×365d時(shí)間內(nèi)99.99%的服務(wù)可用性。因此,CSMS系統(tǒng)的高可用性方案十分重要。
高可用性(High Availability)一般是指通過盡量縮短系統(tǒng)停機(jī)時(shí)間,提高系統(tǒng)和應(yīng)用的可用性。為了提高系統(tǒng)可用性,一種方法是提高計(jì)算機(jī)各個(gè)部件的可靠性,但這種方法并不可靠,因?yàn)閱我环?wù)器可靠性再高也存在單點(diǎn)故障的潛在隱患,所以目前業(yè)界比較成熟的做法是采用集群(CluSTer)的方案。它通過加入冗余設(shè)備使得在一個(gè)設(shè)備出錯(cuò)而停止服務(wù)的時(shí)候,這些冗余的設(shè)備可以繼續(xù)提供服務(wù)。本文中,高可用性的含義還包括“快速恢復(fù)”,即一旦由于系統(tǒng)中止并重啟后,業(yè)務(wù)應(yīng)用能夠盡快恢復(fù)。
本文主要介紹了在CSMS中為了實(shí)現(xiàn)系統(tǒng)的整體高可用性,在各個(gè)層面可以采用的集群技術(shù)。
2 系統(tǒng)高可用技術(shù)的應(yīng)用范圍
在號(hào)碼攜帶系統(tǒng)中,從和運(yùn)營商接口側(cè)到CSMS的核心數(shù)據(jù)層主要包括以下功能層,高可用方案主要圍繞這些層面來展開。
?。?)網(wǎng)絡(luò)層:是和運(yùn)營商連接的部分,主要需要考慮,如何避免傳輸單點(diǎn)故障,如何避免網(wǎng)絡(luò)設(shè)備單點(diǎn)故障?
?。?)Web服務(wù)器層:如何保證Web服務(wù)器的單點(diǎn)故障?如果提供多臺(tái)Web服務(wù)器,如何在之間進(jìn)行資源協(xié)調(diào)?
?。?)應(yīng)用服務(wù)器層:Web服務(wù)器提交請(qǐng)求給應(yīng)用服務(wù)器后,如何避免應(yīng)用服務(wù)器的單點(diǎn)故障及多臺(tái)應(yīng)用服務(wù)器的資源協(xié)調(diào)?
?。?)數(shù)據(jù)庫服務(wù)器層:應(yīng)用服務(wù)器向數(shù)據(jù)庫服務(wù)器提交請(qǐng)求時(shí),如何避免數(shù)據(jù)庫服務(wù)器的單點(diǎn)故障及多臺(tái)之間的資源協(xié)調(diào)?
?。?)應(yīng)用軟件:即使我們采取了各種措施,還是存在服務(wù)器硬件宕機(jī)的可能性。在系統(tǒng)重啟后,我們應(yīng)用軟件如何設(shè)計(jì)保證系統(tǒng)能快速恢復(fù)?
?。?)數(shù)據(jù)層:如何保證數(shù)據(jù)存儲(chǔ)安全可靠?
為了回答上述問題,我們需要對(duì)各種高可用性技術(shù)進(jìn)行研究和總結(jié)。
3 高可用性技術(shù)研究
3.1 CSMS系統(tǒng)架構(gòu)
圖1所示的是CSMS系統(tǒng)組織架構(gòu)。
圖1 CSMS系統(tǒng)組織架構(gòu)
為了保證系統(tǒng)的高可用性,防止出現(xiàn)單點(diǎn)故障,系統(tǒng)的每個(gè)功能層在硬件設(shè)備上都采用冗余配置,同時(shí)通過各種軟件方案設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)高可用性。
3.2 網(wǎng)絡(luò)方案
在網(wǎng)絡(luò)方案上,系統(tǒng)和每個(gè)運(yùn)營商之間的專線采用155M POS或者M(jìn)STP雙光纜接入,利用傳輸網(wǎng)絡(luò)的冗余和自愈能力,保證系統(tǒng)物理接入線路的高可用性。每個(gè)運(yùn)營商的兩條光纜分別接入到系統(tǒng)的兩臺(tái)接入路由器上,盡量避免路由器設(shè)備的單點(diǎn)故障。每臺(tái)路由器分別配置了多個(gè)網(wǎng)卡分別接入多個(gè)運(yùn)營商的專線,防止出現(xiàn)單板卡故障影響到更多的運(yùn)營商接入。
在路由器對(duì)運(yùn)營商側(cè)的方案設(shè)計(jì)上,需要采用動(dòng)態(tài)路由協(xié)議,當(dāng)某臺(tái)路由器到某個(gè)運(yùn)營商的某條缺省配置路由出現(xiàn)故障時(shí)(比如線路故障或板卡故障),需要將備選路由廣播到所有相關(guān)設(shè)備上,新的通信連接則按照新的路由進(jìn)行通信。在路由器對(duì)防火墻的方案設(shè)計(jì)上,需要采用VRRP協(xié)議進(jìn)行動(dòng)態(tài)IP地址綁定,即兩臺(tái)路由器下聯(lián)到防火墻的IP為一個(gè)虛擬地址,缺省時(shí)綁定在某個(gè)路由器的實(shí)際地址上,當(dāng)需要切換時(shí),將虛擬地址綁定在另外一臺(tái)路由器的實(shí)際地址上,而對(duì)于防火墻來說,不需要做任何改變就完成了通信的切換過程。
3.3 Web服務(wù)器的負(fù)載均衡器方案
從客戶端的請(qǐng)求經(jīng)過網(wǎng)絡(luò)設(shè)備后,將首先到達(dá)Web服務(wù)器。從系統(tǒng)的高可用性設(shè)計(jì)角度出發(fā),系統(tǒng)將部署多臺(tái)Web服務(wù)器進(jìn)行集群。Web服務(wù)器之間進(jìn)行集群包括Web負(fù)載均衡和會(huì)話的失敗轉(zhuǎn)移兩個(gè)方面。
負(fù)載均衡可以采用多種技術(shù),比如采用硬件負(fù)載均衡器,也可以在某個(gè)Web服務(wù)器上部署負(fù)載均衡軟件,由這臺(tái)Web服務(wù)器兼作負(fù)載均衡器。負(fù)載均衡器最主要的特征包括:
?。?)單點(diǎn)接入
從客戶端的角度看,多臺(tái)Web服務(wù)器只有一個(gè)地址,就是負(fù)載均衡器的服務(wù)地址。這樣做的好處有兩點(diǎn):一是客戶端不需要配置多個(gè)Web服務(wù)器地址,比較方便;二是可以向客戶端網(wǎng)絡(luò)屏蔽網(wǎng)內(nèi)具體的設(shè)備的地址信息,對(duì)網(wǎng)絡(luò)保護(hù)具有一定作用。
?。?)實(shí)現(xiàn)負(fù)載均衡算法
當(dāng)客戶端請(qǐng)求到來的時(shí)候,負(fù)載均衡器能夠決定把這個(gè)請(qǐng)求轉(zhuǎn)發(fā)到后臺(tái)的哪個(gè)Web服務(wù)器進(jìn)行處理。主流算法包括:輪循算法,隨機(jī)算法和權(quán)重算法,無論哪種算法,負(fù)載均衡器總是試圖讓每個(gè)服務(wù)器實(shí)例分擔(dān)等同的壓力。
評(píng)論