文/章勁松
近幾年,隨著移動互聯(lián)網(wǎng)和新媒體技術(shù)的發(fā)展,在傳媒領(lǐng)域、商業(yè)領(lǐng)域、政務(wù)和民生服務(wù)領(lǐng)域涌現(xiàn)出大量的客戶端。在一個報業(yè)集團(tuán)可能會有多個新聞客戶端、網(wǎng)站。這些客戶端、網(wǎng)站往往是由不同廠商開發(fā)實施的,不但造成了系統(tǒng)重復(fù)建設(shè)和銜接問題,還增加了業(yè)務(wù)流和數(shù)據(jù)流的管理難度。
管控平臺的建設(shè)目的首先是打造靈活高效的新一代發(fā)布體系架構(gòu),提供客戶端和網(wǎng)站產(chǎn)品的建設(shè)標(biāo)準(zhǔn)與接口規(guī)范,統(tǒng)一管理系統(tǒng)和業(yè)務(wù)的接入,避免信息孤島和煙囪式系統(tǒng)。
管控平臺提供第三方服務(wù)的接入支持。集團(tuán)系統(tǒng)平臺的各服務(wù)模塊不僅可以面向集團(tuán)自建的客戶端提供服務(wù),也支持向合作伙伴的客戶端提供服務(wù)??蛻舳伺c服務(wù)端的解耦,可以自由升級、替換、插拔服務(wù),實現(xiàn)不更新客戶端,動態(tài)發(fā)布新的功能到客戶端。通過組合各種業(yè)務(wù)服務(wù)快速開發(fā)新的客戶端、網(wǎng)站應(yīng)用。
管控平臺能夠支持多個發(fā)布終端和網(wǎng)站的管理,多個終端和網(wǎng)站可以獨(dú)立管理,每個終端和網(wǎng)站擁有自己的獨(dú)立域名、欄目、用戶等;針對不同的終端和網(wǎng)站可以使用新的域名,進(jìn)行在同一個后臺相對獨(dú)立的管理,可以調(diào)用多個后臺模塊支持;可以為每個站點(diǎn)指定不同的用戶,授權(quán)不同的管理員負(fù)責(zé)管理、發(fā)布不同的站點(diǎn),滿足不同規(guī)模用戶的多級管理需要 ;支持不同終端之間的數(shù)據(jù)共享。
管控平臺架構(gòu)遵從現(xiàn)有工作流程出發(fā),充分考慮系統(tǒng)管理和操作人員的簡捷性、靈活性等方面的具體要求,利用先進(jìn)的主流技術(shù)架構(gòu),確保系統(tǒng)的強(qiáng)壯性和可升級性,系統(tǒng)總體架構(gòu)設(shè)計如圖1所示。
管控平臺采用模塊化、組件化、面向?qū)ο笤O(shè)計。通過合理的架構(gòu)設(shè)計,具備良好的集成和擴(kuò)充能力,實現(xiàn)多種不同資源的嵌入整合,滿足今后各系統(tǒng)的管理、升級、擴(kuò)充和增加接入等要求。
管控平臺采用分布式部署,各模塊操作功能以插件安裝的形式進(jìn)行配置、刪除,任意模塊的操作功能都可分布至一組服務(wù)器,模塊可獨(dú)立升級、替換。具備良好的兼容能力,支持平滑的、方便的系統(tǒng)升級與擴(kuò)容,并發(fā)用戶數(shù)不受應(yīng)用系統(tǒng)本身限制,網(wǎng)絡(luò)帶寬及服務(wù)器性能的影響能夠采用CDN和分布式部署解決。
管控平臺充分考慮足夠的可擴(kuò)展性和互連性,滿足現(xiàn)有的網(wǎng)絡(luò)與硬件資源和擴(kuò)展及系統(tǒng)二次開發(fā)的需要,并支持未來可能出現(xiàn)的新業(yè)務(wù)的需要。
管控平臺具有接入系統(tǒng)版本控制功能,以應(yīng)用商店的模式展示接管系統(tǒng)的新版本功能,提供線上升級、一鍵更新等功能。第三方系統(tǒng)按照管控平臺的接口規(guī)范開發(fā)版本升級功能。各系統(tǒng)模塊的版本號獨(dú)立,提供實時查詢,支持新老版本并行和切換。
圖1
微服務(wù)架構(gòu)(Microservice Architect)是一種架構(gòu)模式,它提倡將單體架構(gòu)的應(yīng)用劃分成一組小的服務(wù),服務(wù)之間互相協(xié)調(diào)、互相配合,為用戶提供最終價值。每個服務(wù)運(yùn)行在其獨(dú)立的進(jìn)程中,服務(wù)與服務(wù)之間采用輕量級的通信機(jī)制互相溝通。每個服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立地部署到生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境等。
微服務(wù)架構(gòu)支持技術(shù)多樣性,系統(tǒng)具有彈性、易擴(kuò)展、易部署、便于組合和優(yōu)化置換的特點(diǎn),管控平臺在充分吸收微服務(wù)架構(gòu)的優(yōu)點(diǎn)后,在設(shè)計、開發(fā)、測試、部署、運(yùn)維上采用了微服務(wù)架構(gòu)。
將APP服務(wù)端的各業(yè)務(wù)分解成獨(dú)立的服務(wù),服務(wù)啟動后主動向服務(wù)目錄中心注冊。對于第三方服務(wù),通過服務(wù)代理進(jìn)行接口隔離后,也同樣向服務(wù)目錄中心進(jìn)行注冊。APP端首先通過證書密鑰訪問授權(quán)中心,根據(jù)密鑰不同獲得不同訪問權(quán)限的令牌,使用令牌向服務(wù)目錄中心請求服務(wù)地址,即服務(wù)發(fā)現(xiàn)過程,服務(wù)目錄中心審核權(quán)限通過以后,將真實的REST服務(wù)地址返回給APP端。APP端利用REST服務(wù)地址和令牌,訪問響應(yīng)的服務(wù)(圖2)。
圖2
由管控平臺制定平臺接口交互規(guī)范,任何第三方系統(tǒng)接入到管控平臺都須遵照此規(guī)范。接口規(guī)范包括系統(tǒng)配置、管理員認(rèn)證、版本控制、數(shù)據(jù)傳輸、用戶認(rèn)證交互、日志傳輸?shù)取?/p>
接口應(yīng)實現(xiàn)對外部系統(tǒng)的接入提供企業(yè)級的支持,在系統(tǒng)的高并發(fā)和大容量的基礎(chǔ)上提供安全可靠的接入,支持并發(fā)增加時系統(tǒng)資源的動態(tài)擴(kuò)展。支持系統(tǒng)平滑移植,在進(jìn)行擴(kuò)容、新業(yè)務(wù)擴(kuò)展時,應(yīng)能提供快速、方便和準(zhǔn)確的實現(xiàn)方式。支持同步請求/應(yīng)答、異步請求/應(yīng)答、會話、廣播通知方式、事件訂閱方式、可靠消息傳輸?shù)确绞健?/p>
提供完善的信息安全和監(jiān)控機(jī)制,實現(xiàn)對信息的全面保護(hù)和運(yùn)行情況的實時監(jiān)控,保證系統(tǒng)的正常運(yùn)行,應(yīng)防止大量訪問以及大量占用資源的情況發(fā)生,保證系統(tǒng)的健壯性。
支持任意模塊支持接口管理,接口支持對外轉(zhuǎn)發(fā),并支持鑒權(quán)操作;支持接口路由功能,能夠?qū)涌趨f(xié)議、請求方式、數(shù)據(jù)格式、參數(shù)處理、靜態(tài)緩存等進(jìn)行設(shè)置;支持http接口直接調(diào)用展示數(shù)據(jù);支持接口在線封裝;支持對外接口防放大攻擊以及提供第三方系統(tǒng)登錄鑒權(quán)認(rèn)證等。
管控平臺統(tǒng)一管理接入系統(tǒng)的管理員、后臺入駐用戶,實現(xiàn)單點(diǎn)登錄認(rèn)證、分布授權(quán)。管控平臺通過權(quán)限設(shè)置,進(jìn)入不同的系統(tǒng)管理。根據(jù)用戶權(quán)限的不同,提供個性化的管理界面。
管控平臺用戶統(tǒng)一認(rèn)證包括用戶基本信息的管理,如:賬戶名、昵稱、真實姓名、身份證、綁定賬戶、個人照片、郵箱等。用戶在不同客戶端、活動平臺的具體信息由相應(yīng)的平臺管理。
管控平臺負(fù)責(zé)管理用戶的服務(wù)模塊和功能的訪問權(quán)限,具體服務(wù)模塊內(nèi)的權(quán)限由服務(wù)模塊本身進(jìn)行管理。
支持用戶的分組分級管理,能夠區(qū)分用戶通過不同客戶端和渠道注冊。分級的設(shè)計應(yīng)根據(jù)用戶在各客戶端和網(wǎng)站上使用的情況進(jìn)行綜合。
提供用戶統(tǒng)一認(rèn)證管理,包括用戶注冊,多種級別的認(rèn)證方式,用戶注冊信息的管理等。為接入系統(tǒng)提供標(biāo)準(zhǔn)用戶管理接口,實現(xiàn)接入系統(tǒng)用戶的統(tǒng)一管理。至少具備手機(jī)號注冊,微博、微信、QQ等第三方賬戶注冊,身份證認(rèn)證等功能。提供開發(fā)的用戶認(rèn)證接口,通過SDK、API、URL等方式向評論、互動活動、服務(wù)等第三方系統(tǒng)提供用戶信息交互。
系統(tǒng)管理員通過管控平臺可以對接入系統(tǒng)進(jìn)行可視化配置管理。系統(tǒng)實現(xiàn)對接入系統(tǒng)模塊的嵌入和導(dǎo)航,后臺用戶登錄接入界面后可方便地選擇相應(yīng)的模塊進(jìn)行操作,無需二次登錄,并可根據(jù)工作需要自定義操作界面。
具有完整的功能模塊配置管理界面,管理員登錄管控平臺后, 能夠明晰地看到及接入的系統(tǒng)模塊、app管理、用戶管理、第三方系統(tǒng)等,可以方便地進(jìn)行調(diào)度和配置。
系統(tǒng)提供直觀的模塊接入情況、版本情況列表,支持不同版本的模塊并存。管理員通過選擇配置,即可實現(xiàn)快速平穩(wěn)切換以及不同模塊的替代切換。
新華報業(yè)傳媒集團(tuán)全媒體客戶端支撐云平臺項目采用了管控平臺架構(gòu)進(jìn)行開發(fā)建設(shè),支持交匯點(diǎn)新聞客戶端和網(wǎng)站的管理發(fā)布。根據(jù)政務(wù)信息服務(wù)、交匯號入駐等實際業(yè)務(wù)需求,打造了一個開放的內(nèi)容入駐平臺。通過標(biāo)準(zhǔn)化接口實現(xiàn)了第三方服務(wù)模塊的接入,在統(tǒng)一用戶認(rèn)證和用戶信息管理的基礎(chǔ)上實現(xiàn)了服務(wù)模塊的統(tǒng)一調(diào)度,對務(wù)模塊的接入管理支持跳轉(zhuǎn)、接管和嵌入等多種方式,真正做到靈活可控。
[1] 郭棟,王偉,曾國蓀.一種基于微服務(wù)架構(gòu)的新型云件PaaS平臺[J].信息網(wǎng)絡(luò)安全,2015(2):15-20
[2] Building Microservices by Sam Newman Copyright 2015 Published by O’Reilly Media.
[3] MICROSERVICES From Design to Deployment by Chris Richardson with Floyd Smith.