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