李效利,王志欣通信作者,于 淦
(1.國(guó)家無(wú)線電監(jiān)測(cè)中心云南監(jiān)測(cè)站,云南 昆明 650000;2.國(guó)家無(wú)線電監(jiān)測(cè)中心,北京 100037)
分布式是指將不同地點(diǎn)、擁有不同數(shù)據(jù)或不同功能的多臺(tái)計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)連接起來(lái),由控制系統(tǒng)統(tǒng)一管理,完成大規(guī)模信息處理的計(jì)算機(jī)系統(tǒng)[1]。
集群是指多臺(tái)服務(wù)器集中在一起提供統(tǒng)一服務(wù),在邏輯上可以看作是一臺(tái)服務(wù)器對(duì)外進(jìn)行服務(wù),這些服務(wù)器就是集群[1]。
在國(guó)家短波監(jiān)測(cè)一體化平臺(tái)中,九個(gè)監(jiān)測(cè)站分布在不同地區(qū),擁有不同的監(jiān)測(cè)設(shè)備及監(jiān)測(cè)數(shù)據(jù), 監(jiān)測(cè)中心對(duì)九個(gè)站點(diǎn)集中統(tǒng)一管理,該平臺(tái)模式可使用集群分布式架設(shè),充分發(fā)揮集群分布式網(wǎng)絡(luò)架構(gòu)優(yōu)勢(shì),提高工作效率及數(shù)據(jù)安全可靠性。
短波監(jiān)測(cè)一體化平臺(tái)依托于國(guó)家無(wú)線電管理一體化平臺(tái)的技術(shù)架構(gòu)進(jìn)行設(shè)計(jì)和實(shí)施,本質(zhì)上是國(guó)家無(wú)線電管理一體化平臺(tái)的一組應(yīng)用系統(tǒng)。短波監(jiān)測(cè)一體化平臺(tái)中管控系統(tǒng)、監(jiān)測(cè)設(shè)備、監(jiān)測(cè)數(shù)據(jù)庫(kù)以及應(yīng)用系統(tǒng)之間的服務(wù)請(qǐng)求與響應(yīng),都經(jīng)過(guò)國(guó)家無(wú)線電管理一體化平臺(tái)進(jìn)行交互。如圖1所示。

圖1 邏輯架構(gòu)總覽
短波監(jiān)測(cè)一體化平臺(tái)系統(tǒng)基于SOA服務(wù)架構(gòu)設(shè)計(jì),遵循《短波監(jiān)測(cè)管理一體化平臺(tái)技術(shù)規(guī)范》等相關(guān)標(biāo)準(zhǔn)規(guī)范,通過(guò)服務(wù)總線對(duì)設(shè)備操作分解為原子服務(wù)層,并通過(guò)管控系統(tǒng)規(guī)范標(biāo)準(zhǔn)服務(wù),實(shí)現(xiàn)上層業(yè)務(wù)流程、業(yè)務(wù)應(yīng)用于底層監(jiān)測(cè)設(shè)備的解耦[2]。
依據(jù)短波業(yè)務(wù)需要,結(jié)合無(wú)線電管理一體化基礎(chǔ)平臺(tái)建設(shè)方式,短波監(jiān)測(cè)一體化平臺(tái)核心業(yè)務(wù)調(diào)度(如監(jiān)測(cè)管控系統(tǒng)任務(wù)調(diào)度、數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)路由索引)采用中心集中集群部署,通過(guò)在監(jiān)測(cè)站安裝同步災(zāi)備系統(tǒng),確保網(wǎng)絡(luò)異常情況下監(jiān)測(cè)站點(diǎn)監(jiān)測(cè)業(yè)務(wù)能正常開(kāi)展,同時(shí)使用反向代理技術(shù)實(shí)現(xiàn)自動(dòng)切換。數(shù)據(jù)傳輸存儲(chǔ)分析采用中心、監(jiān)測(cè)站點(diǎn)分布式部署,將數(shù)據(jù)計(jì)算處理前置,有效緩解網(wǎng)絡(luò)壓力,充分利用監(jiān)測(cè)站點(diǎn)計(jì)算和存儲(chǔ)資源,中心具備匯總計(jì)算能力實(shí)現(xiàn)各站數(shù)據(jù)的統(tǒng)一并對(duì)外提供服務(wù)。

圖2 集群分布式架構(gòu)圖
反向代理將短波核心業(yè)務(wù)調(diào)度處理請(qǐng)求路由到國(guó)家中心節(jié)點(diǎn),對(duì)設(shè)備、數(shù)據(jù)進(jìn)行統(tǒng)一的調(diào)度、處理,此時(shí),各個(gè)監(jiān)測(cè)站災(zāi)備系統(tǒng)自動(dòng)從國(guó)家中心同步本站的設(shè)備元數(shù)據(jù),以備斷網(wǎng)模式下對(duì)本站的設(shè)備、數(shù)據(jù)調(diào)度。
當(dāng)中心和監(jiān)測(cè)站斷網(wǎng)模式或出現(xiàn)網(wǎng)絡(luò)故障時(shí), 監(jiān)測(cè)站的反向代理自動(dòng)監(jiān)測(cè)網(wǎng)絡(luò)異常,自動(dòng)將監(jiān)測(cè)應(yīng)用的請(qǐng)求切換到本站的短波分布式平臺(tái),保證應(yīng)用對(duì)本站設(shè)備的控制及分析。此時(shí)各個(gè)監(jiān)測(cè)站僅對(duì)本站設(shè)備進(jìn)行控制,發(fā)起基礎(chǔ)的監(jiān)測(cè)測(cè)向功能,包括單頻測(cè)量、單頻測(cè)向、頻段掃描及頻譜觀測(cè)等, 支持本站計(jì)劃任務(wù)、整點(diǎn)半點(diǎn)錄音功能、基礎(chǔ)數(shù)據(jù)分析(頻段占用度統(tǒng)計(jì)、信號(hào)占用度統(tǒng)計(jì)),并將監(jiān)測(cè)過(guò)程數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)、結(jié)果數(shù)據(jù)存儲(chǔ)與監(jiān)測(cè)站。網(wǎng)絡(luò)恢復(fù)后,監(jiān)測(cè)站通過(guò)合理的數(shù)據(jù)同步機(jī)制,保證短波站與國(guó)家中心的數(shù)據(jù)一致性。
構(gòu)建應(yīng)用系統(tǒng)核心服務(wù)集群,讓核心微服務(wù)模塊都能依據(jù)并發(fā)壓力和高可用需要任意擴(kuò)展,保證集群中任意一臺(tái)服務(wù)器出現(xiàn)問(wèn)題不會(huì)影響整個(gè)應(yīng)用系統(tǒng)的正常運(yùn)行。
通過(guò)應(yīng)用服務(wù)的集群化,實(shí)現(xiàn)根據(jù)需求對(duì)高并發(fā)的模塊進(jìn)行平滑擴(kuò)容,通過(guò)負(fù)載均衡實(shí)現(xiàn)服務(wù)的高并發(fā)需求,如最大在線用戶數(shù)≥100人等需求。
集群橫向擴(kuò)展的前提是將服務(wù)的狀態(tài)信息從服務(wù)中剝離,實(shí)現(xiàn)無(wú)狀態(tài)的微服務(wù),相同微服務(wù)多實(shí)例運(yùn)行時(shí)達(dá)到狀態(tài)一致,同時(shí)使用負(fù)載均衡策略將服務(wù)消費(fèi)者路由到合理的微服務(wù)上。如圖3所示。

圖3 微服務(wù)關(guān)系圖
負(fù)載均衡微服務(wù)的業(yè)務(wù)狀態(tài)信息統(tǒng)一存儲(chǔ)在Redis緩存中,各實(shí)例共享使用狀態(tài)信息,實(shí)現(xiàn)狀態(tài)的一致性。
服務(wù)消費(fèi)者通過(guò)負(fù)載均衡器(Ribbon)使用配置好的均衡策略實(shí)現(xiàn)微服務(wù)實(shí)例的路由。
Redis緩存服務(wù)器構(gòu)建集群保障狀態(tài)數(shù)據(jù)的安全性,采用Redis哨兵模式建立集群,監(jiān)控Redis系統(tǒng)的運(yùn)行狀況,主要實(shí)現(xiàn)單個(gè)redis節(jié)點(diǎn)宕機(jī)時(shí)無(wú)縫切換備用redis服務(wù)器。Sentinel(哨兵)系統(tǒng)用于管理多個(gè)Redis服務(wù)器(instance),該系統(tǒng)執(zhí)行三個(gè)任務(wù):一是監(jiān)控(Monitoring),Sentinel會(huì)不斷地檢查你的主服務(wù)器和從服務(wù)器是否運(yùn)作正常;二是提醒(Notif ication),當(dāng)被監(jiān)控的某個(gè)Redis服務(wù)器出現(xiàn)問(wèn)題時(shí),Sent inel通過(guò)API向應(yīng)用程序發(fā)送通知;三是自動(dòng)故障遷移(Automatic failover),當(dāng)一個(gè)主服務(wù)器不能正常工作時(shí),Sentinel會(huì)開(kāi)始一次自動(dòng)故障遷移操作,將失效主服務(wù)器的其中一個(gè)從服務(wù)器升級(jí)為新的主服務(wù)器,并讓失效主服務(wù)器的其他從服務(wù)器改為復(fù)制新的主服務(wù)器;當(dāng)客戶端試圖連接失效的主服務(wù)器時(shí),集群也會(huì)向客戶端返回新主服務(wù)器的地址,使得集群可以使用新主服務(wù)器代替失效服務(wù)器。
短波業(yè)務(wù)應(yīng)用系統(tǒng)在國(guó)家中心和監(jiān)測(cè)站分布式部署,中心采用集群模式、監(jiān)測(cè)站使用單節(jié)點(diǎn)進(jìn)行部署,保證中心和監(jiān)測(cè)站的系統(tǒng)能夠作為邏輯上統(tǒng)一的應(yīng)用系統(tǒng)對(duì)外提供服務(wù)。
各個(gè)監(jiān)測(cè)站通過(guò)Nginx反向代理發(fā)布給本站的監(jiān)測(cè)應(yīng)用,國(guó)家中心與監(jiān)測(cè)站之間使用統(tǒng)一部署的DNS域名解析服務(wù)器集群實(shí)現(xiàn)灰度發(fā)布,對(duì)所有區(qū)域用戶實(shí)現(xiàn)無(wú)差別化訪問(wèn)聯(lián)網(wǎng)模式下,反向代理將短波業(yè)務(wù)(包括監(jiān)測(cè)管控、數(shù)據(jù)分析、存儲(chǔ)等)處理路由到國(guó)家中心節(jié)點(diǎn),對(duì)設(shè)備、數(shù)據(jù)進(jìn)行統(tǒng)一的調(diào)度、處理,此時(shí),各個(gè)短波站自動(dòng)從國(guó)家中心同步本站的設(shè)備元數(shù)據(jù),以備斷網(wǎng)模式下對(duì)本站的設(shè)備調(diào)度。
當(dāng)中心和監(jiān)測(cè)站斷網(wǎng)模式下,監(jiān)測(cè)站的反向代理自動(dòng)監(jiān)測(cè)網(wǎng)絡(luò)異常,自動(dòng)將監(jiān)測(cè)應(yīng)用的請(qǐng)求切換到本站的短波分布式平臺(tái),保證應(yīng)用對(duì)本站設(shè)備的控制及分析,并將監(jiān)測(cè)過(guò)程數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)、結(jié)果數(shù)據(jù)存儲(chǔ)與監(jiān)測(cè)站,不影響用戶對(duì)本站的控制及日常監(jiān)測(cè)分析工作,保障系統(tǒng)的高可用。
當(dāng)中心和監(jiān)測(cè)站網(wǎng)絡(luò)恢復(fù)后,監(jiān)測(cè)站通過(guò)合理的數(shù)據(jù)同步機(jī)制,保證監(jiān)測(cè)站與國(guó)家中心的數(shù)據(jù)一致性。
本文分析了集群分布式網(wǎng)絡(luò)架設(shè)的實(shí)現(xiàn)方法和保障性應(yīng)用及意義,凸顯了在短波監(jiān)測(cè)一體化平臺(tái)中使用集群分布式網(wǎng)絡(luò)架設(shè)在提升短波監(jiān)測(cè)能力、保障系統(tǒng)高可用及數(shù)據(jù)安全性上的優(yōu)點(diǎn)。