黃 煒, 高逸峰, 伏正偉
(1. 南通市建筑設(shè)計(jì)研究院有限公司,南通 226006; 2. 安科瑞電氣股份有限公司,上海 201801)
根據(jù)公安部《公安云計(jì)算框架指南》的部署要求,目前縣市級(jí)公安逐步在警務(wù)云基礎(chǔ)上啟動(dòng)微服務(wù)建設(shè)。微服務(wù)架構(gòu)將單一應(yīng)用程序劃分成若干小的服務(wù),各子服務(wù)之間相互協(xié)調(diào)、相互配合,為用戶提供最終可堆砌、復(fù)用的解決方案。在縣市級(jí)公安面臨業(yè)務(wù)快速變化、技術(shù)手段多樣化的場(chǎng)景下,微服務(wù)架構(gòu)模式可快速響應(yīng)業(yè)務(wù)對(duì)IT的需求,保證業(yè)務(wù)串聯(lián)的穩(wěn)定性和一致性,為數(shù)據(jù)融合和應(yīng)用上云提供支撐保障的同時(shí),保障統(tǒng)一的自動(dòng)化運(yùn)維、動(dòng)態(tài)監(jiān)控和多層次安全。
圖1為微服務(wù)平臺(tái)技術(shù)架構(gòu)。
圖1 微服務(wù)平臺(tái)技術(shù)架構(gòu)
可以看到,基于微服務(wù)的開發(fā)架構(gòu)的警務(wù)云PaaS平臺(tái)提供了四大中心開發(fā)運(yùn)行所需的基礎(chǔ)平臺(tái)能力。
(1)服務(wù)共享中心,為服務(wù)的發(fā)布者和使用者提供完整的服務(wù)集成管理和標(biāo)準(zhǔn)化使用管理。(2)服務(wù)管理中心,包括微服務(wù)引擎和容器引擎,提供微服務(wù)應(yīng)用開發(fā)與管理相關(guān)的功能。(3)運(yùn)維管理中心,以高效保障公安業(yè)務(wù)應(yīng)用為目標(biāo),按照實(shí)現(xiàn)一體化運(yùn)營服務(wù)和運(yùn)維管理。(4)安全管理中心,通過安全策略、日志審計(jì)等保障應(yīng)用安全,與網(wǎng)絡(luò)安全體系、數(shù)據(jù)安全體系相結(jié)合,形成立體的多維度的安全保障體系。
圖2為微服務(wù)平臺(tái)業(yè)務(wù)架構(gòu)??梢钥吹?,桌面應(yīng)用服務(wù)、移動(dòng)應(yīng)用服務(wù)等均基于微服務(wù)架構(gòu)開發(fā),或者已有應(yīng)用改造成微服務(wù),納入警務(wù)云PaaS平臺(tái)提供的微服務(wù)引擎的管理。通過云容器應(yīng)用進(jìn)行應(yīng)用發(fā)放和管理。
圖2 微服務(wù)平臺(tái)業(yè)務(wù)架構(gòu)
其中,業(yè)務(wù)請(qǐng)求通過負(fù)載均衡服務(wù)進(jìn)行分發(fā)(微服務(wù)引擎提供或云服務(wù)提供),用戶訪問請(qǐng)求到達(dá)桌面(移動(dòng))應(yīng)用后再進(jìn)行相關(guān)操作,隨后,調(diào)用業(yè)務(wù)微服務(wù)掛載在API網(wǎng)關(guān)的API接口,向后端提交業(yè)務(wù)請(qǐng)求。應(yīng)用微服務(wù)可調(diào)用基礎(chǔ)支撐的服務(wù)提供包括認(rèn)證、授權(quán)、系統(tǒng)對(duì)接等通用能力。各類中間件為各應(yīng)用提供通用的消息、緩存等服務(wù)能力。
新公安信息網(wǎng)需基于警務(wù)云PaaS平臺(tái),部署一套服務(wù)目錄,提供對(duì)新公安信息網(wǎng)服務(wù)資源的管理能力。包括服務(wù)發(fā)布、服務(wù)訂閱、服務(wù)收藏、服務(wù)變更、服務(wù)退訂、服務(wù)審批、服務(wù)統(tǒng)計(jì)、服務(wù)質(zhì)量評(píng)估等功能。
(1)微服務(wù)引擎:提供業(yè)務(wù)分布化,為微服務(wù)提供自動(dòng)注冊(cè)、發(fā)現(xiàn)、路由、治理、隔離、調(diào)用分析等一系列分布式/微服務(wù)管理能力,屏蔽分布式系統(tǒng)的復(fù)雜度,為新公安信息網(wǎng)應(yīng)用提供微服務(wù)化開發(fā)和管理的支撐。
(2)微服務(wù)開發(fā):提供微服務(wù)開發(fā)框架服務(wù)契約,包括契約文件、接口定義、框架代碼自動(dòng)生成,支持對(duì)于隱式服務(wù)契約的微服務(wù)支持服務(wù)契約的自動(dòng)生成。
(3)微服務(wù)治理:在高負(fù)載場(chǎng)景下,資源不夠用時(shí)對(duì)非核心業(yè)務(wù)主動(dòng)降級(jí),保證核心業(yè)務(wù)的資源供給。1)服務(wù)限流:服務(wù)提供端和消費(fèi)端的流量控制,保障服務(wù)穩(wěn)定運(yùn)行;2)服務(wù)熔斷:在服務(wù)訪問量大出現(xiàn)大規(guī)模錯(cuò)誤時(shí)自動(dòng)檢測(cè)并熔斷服務(wù),防止累積大量請(qǐng)求占用系統(tǒng)資源導(dǎo)致雪崩效應(yīng);3)服務(wù)容錯(cuò):在服務(wù)多實(shí)例場(chǎng)景下,根據(jù)容錯(cuò)策略進(jìn)行服務(wù)容錯(cuò)。
(4)應(yīng)用調(diào)度:在微服務(wù)平臺(tái)中,用戶通過使用容器的調(diào)度策略,可以為容器運(yùn)行選擇最優(yōu)節(jié)點(diǎn);可支持對(duì)傳統(tǒng)應(yīng)用進(jìn)行改造,對(duì)改造后的應(yīng)用和新應(yīng)用支持滾動(dòng)升級(jí)。組件負(fù)載滿足預(yù)先配置的平臺(tái)組件自動(dòng)伸縮策略,根據(jù)應(yīng)用負(fù)載程度以及用戶配置的伸縮策略,實(shí)現(xiàn)應(yīng)用實(shí)例的自動(dòng)擴(kuò)縮容,并自動(dòng)完成負(fù)載均衡的調(diào)整,過程中需確保業(yè)務(wù)會(huì)話不中斷。
(1)資源監(jiān)控管理:通過資源監(jiān)控可以及時(shí)了解主機(jī)的資源使用情況,如CPU內(nèi)核總量、CPU內(nèi)核占用、CPU使用率、可用物理內(nèi)存、可以虛擬內(nèi)存以及物理內(nèi)存使用率等指標(biāo),通過監(jiān)控這些信息,快速響應(yīng),保證主機(jī)資源的流暢運(yùn)行。
(2)應(yīng)用監(jiān)控管理:通過應(yīng)用監(jiān)控可以及時(shí)了解應(yīng)用的狀態(tài)是否正常,通過應(yīng)用的啟動(dòng)或停止來上線或下線應(yīng)用,同時(shí)支持應(yīng)用的更新升級(jí)。
(3)集中告警管理:集中告警管理收集平臺(tái)自身服務(wù)的各種異常情況下上報(bào)的信息,以可視化的方式提示運(yùn)維人員進(jìn)行處理,保障平臺(tái)服務(wù)的正常運(yùn)行,從而避免影響業(yè)務(wù)的運(yùn)行。
(4)應(yīng)用日志管理:應(yīng)用日志管理收集應(yīng)用產(chǎn)生的業(yè)務(wù)日志,支持應(yīng)用日志按關(guān)鍵字、時(shí)間段等條件進(jìn)行查詢,可以查看日志的上下文詳細(xì)信息進(jìn)行問題的定位,同時(shí)支持日志的導(dǎo)出。
(5)故障處理管理:公安信息網(wǎng)服務(wù)在高負(fù)載場(chǎng)景下,資源不夠用時(shí),平臺(tái)對(duì)非核心業(yè)務(wù)主動(dòng)降級(jí),保證核心業(yè)務(wù)的資源供給。通過對(duì)新公安信息網(wǎng)服務(wù)的提供端和消費(fèi)端的流量控制,保障服務(wù)穩(wěn)定運(yùn)行;在新公安信息網(wǎng)服務(wù)訪問量大出現(xiàn)大規(guī)模錯(cuò)誤時(shí),平臺(tái)自動(dòng)檢測(cè)并熔斷服務(wù),防止累積大量請(qǐng)求占用系統(tǒng)資源導(dǎo)致雪崩效應(yīng)。
(1)租戶隔離:提供用戶的統(tǒng)一身份認(rèn)證管理,建立支持基于角色和基于屬性的分布式授權(quán)檢查,建立最終租戶與服務(wù)租戶的信任授權(quán),并基于配額管理實(shí)現(xiàn)應(yīng)用/服務(wù)部署的準(zhǔn)入控制。
(2)密鑰管理:平臺(tái)中的服務(wù)和應(yīng)用需要使用HTTPS的認(rèn)證和通信安全機(jī)制,預(yù)置的內(nèi)部證書方式已經(jīng)不能滿足多元的、動(dòng)態(tài)化的服務(wù)需求,且缺少證書的統(tǒng)一管理機(jī)制。從數(shù)據(jù)安全的角度來看,各子系統(tǒng)都有敏感數(shù)據(jù)需要加密保護(hù),如多個(gè)虛機(jī)需要共享密文的情況下,在各個(gè)虛機(jī)中拷貝密鑰文件的方式不能滿足安全管理的需求。
(3)容器安全:安全容器管理是指平臺(tái)具有限制容器能夠使用資源(CPU,Memory,Disk)數(shù)量的能力,保證容器與運(yùn)行的宿主機(jī)之間明確的隔離,限制容器對(duì)基礎(chǔ)設(shè)施或者其他容器造成不良影響的能力。