黃 煒, 高逸峰, 伏正偉
(1. 南通市建筑設計研究院有限公司,南通 226006; 2. 安科瑞電氣股份有限公司,上海 201801)
根據公安部《公安云計算框架指南》的部署要求,目前縣市級公安逐步在警務云基礎上啟動微服務建設。微服務架構將單一應用程序劃分成若干小的服務,各子服務之間相互協調、相互配合,為用戶提供最終可堆砌、復用的解決方案。在縣市級公安面臨業務快速變化、技術手段多樣化的場景下,微服務架構模式可快速響應業務對IT的需求,保證業務串聯的穩定性和一致性,為數據融合和應用上云提供支撐保障的同時,保障統一的自動化運維、動態監控和多層次安全。
圖1為微服務平臺技術架構。

圖1 微服務平臺技術架構
可以看到,基于微服務的開發架構的警務云PaaS平臺提供了四大中心開發運行所需的基礎平臺能力。
(1)服務共享中心,為服務的發布者和使用者提供完整的服務集成管理和標準化使用管理。(2)服務管理中心,包括微服務引擎和容器引擎,提供微服務應用開發與管理相關的功能。(3)運維管理中心,以高效保障公安業務應用為目標,按照實現一體化運營服務和運維管理。(4)安全管理中心,通過安全策略、日志審計等保障應用安全,與網絡安全體系、數據安全體系相結合,形成立體的多維度的安全保障體系。
圖2為微服務平臺業務架構??梢钥吹?,桌面應用服務、移動應用服務等均基于微服務架構開發,或者已有應用改造成微服務,納入警務云PaaS平臺提供的微服務引擎的管理。通過云容器應用進行應用發放和管理。

圖2 微服務平臺業務架構
其中,業務請求通過負載均衡服務進行分發(微服務引擎提供或云服務提供),用戶訪問請求到達桌面(移動)應用后再進行相關操作,隨后,調用業務微服務掛載在API網關的API接口,向后端提交業務請求。應用微服務可調用基礎支撐的服務提供包括認證、授權、系統對接等通用能力。各類中間件為各應用提供通用的消息、緩存等服務能力。
新公安信息網需基于警務云PaaS平臺,部署一套服務目錄,提供對新公安信息網服務資源的管理能力。包括服務發布、服務訂閱、服務收藏、服務變更、服務退訂、服務審批、服務統計、服務質量評估等功能。
(1)微服務引擎:提供業務分布化,為微服務提供自動注冊、發現、路由、治理、隔離、調用分析等一系列分布式/微服務管理能力,屏蔽分布式系統的復雜度,為新公安信息網應用提供微服務化開發和管理的支撐。
(2)微服務開發:提供微服務開發框架服務契約,包括契約文件、接口定義、框架代碼自動生成,支持對于隱式服務契約的微服務支持服務契約的自動生成。
(3)微服務治理:在高負載場景下,資源不夠用時對非核心業務主動降級,保證核心業務的資源供給。1)服務限流:服務提供端和消費端的流量控制,保障服務穩定運行;2)服務熔斷:在服務訪問量大出現大規模錯誤時自動檢測并熔斷服務,防止累積大量請求占用系統資源導致雪崩效應;3)服務容錯:在服務多實例場景下,根據容錯策略進行服務容錯。
(4)應用調度:在微服務平臺中,用戶通過使用容器的調度策略,可以為容器運行選擇最優節點;可支持對傳統應用進行改造,對改造后的應用和新應用支持滾動升級。組件負載滿足預先配置的平臺組件自動伸縮策略,根據應用負載程度以及用戶配置的伸縮策略,實現應用實例的自動擴縮容,并自動完成負載均衡的調整,過程中需確保業務會話不中斷。
(1)資源監控管理:通過資源監控可以及時了解主機的資源使用情況,如CPU內核總量、CPU內核占用、CPU使用率、可用物理內存、可以虛擬內存以及物理內存使用率等指標,通過監控這些信息,快速響應,保證主機資源的流暢運行。
(2)應用監控管理:通過應用監控可以及時了解應用的狀態是否正常,通過應用的啟動或停止來上線或下線應用,同時支持應用的更新升級。
(3)集中告警管理:集中告警管理收集平臺自身服務的各種異常情況下上報的信息,以可視化的方式提示運維人員進行處理,保障平臺服務的正常運行,從而避免影響業務的運行。
(4)應用日志管理:應用日志管理收集應用產生的業務日志,支持應用日志按關鍵字、時間段等條件進行查詢,可以查看日志的上下文詳細信息進行問題的定位,同時支持日志的導出。
(5)故障處理管理:公安信息網服務在高負載場景下,資源不夠用時,平臺對非核心業務主動降級,保證核心業務的資源供給。通過對新公安信息網服務的提供端和消費端的流量控制,保障服務穩定運行;在新公安信息網服務訪問量大出現大規模錯誤時,平臺自動檢測并熔斷服務,防止累積大量請求占用系統資源導致雪崩效應。
(1)租戶隔離:提供用戶的統一身份認證管理,建立支持基于角色和基于屬性的分布式授權檢查,建立最終租戶與服務租戶的信任授權,并基于配額管理實現應用/服務部署的準入控制。
(2)密鑰管理:平臺中的服務和應用需要使用HTTPS的認證和通信安全機制,預置的內部證書方式已經不能滿足多元的、動態化的服務需求,且缺少證書的統一管理機制。從數據安全的角度來看,各子系統都有敏感數據需要加密保護,如多個虛機需要共享密文的情況下,在各個虛機中拷貝密鑰文件的方式不能滿足安全管理的需求。
(3)容器安全:安全容器管理是指平臺具有限制容器能夠使用資源(CPU,Memory,Disk)數量的能力,保證容器與運行的宿主機之間明確的隔離,限制容器對基礎設施或者其他容器造成不良影響的能力。
