国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

智媒體的業(yè)務(wù)中臺(tái)建設(shè)*

2021-05-20 06:12:02王子建徐楨虎
信息安全與通信保密 2021年5期
關(guān)鍵詞:中臺(tái)租戶調(diào)用

余 欣,王子建,徐楨虎

(四川封面?zhèn)髅接邢挢?zé)任公司,四川 成都 610000)

0 引 言

智媒體是指用人工智能技術(shù)重構(gòu)新聞信息生產(chǎn)與傳播全流程的媒體,技術(shù)驅(qū)動(dòng)是智媒體的本質(zhì)特征,人機(jī)協(xié)同是智媒體的重要標(biāo)志,智能傳播是智媒體要達(dá)到的目標(biāo)追求。智媒體在利用大數(shù)據(jù)和人工智能等新技術(shù)對智能分發(fā)、用戶沉淀、商業(yè)模式、生態(tài)體系等方面進(jìn)行探索的過程,需要來自內(nèi)外多個(gè)領(lǐng)域的團(tuán)隊(duì)協(xié)同來打造智媒技術(shù)平臺(tái),推動(dòng)數(shù)據(jù)驅(qū)動(dòng)、算法重構(gòu)和應(yīng)用升級?;谑袌霭l(fā)展和企業(yè)架構(gòu)的理解,這種創(chuàng)新需求強(qiáng)烈、技術(shù)領(lǐng)域繁雜、異構(gòu)系統(tǒng)眾多、跨界協(xié)作密集的智媒技術(shù)平臺(tái)的成熟進(jìn)化正是業(yè)務(wù)中臺(tái)的價(jià)值所在。為了高效應(yīng)對變化,支撐前臺(tái)應(yīng)用的快速落地,集成后臺(tái)服務(wù)的復(fù)雜邏輯,業(yè)務(wù)中臺(tái)在媒體領(lǐng)域應(yīng)運(yùn)而生。

1 業(yè)務(wù)中臺(tái)建設(shè)的三個(gè)方向

智媒體業(yè)務(wù)中臺(tái)從功能上將智媒能力可見、可控、可用、可聯(lián),讓協(xié)同建設(shè)的團(tuán)隊(duì)對各系統(tǒng)的理解從產(chǎn)品層面深入能力層面,由此提升溝通和建設(shè)效率,根本上是要加強(qiáng)如下三個(gè)方向:加固中臺(tái)基底、提升中臺(tái)效能和開放中臺(tái)能力。

(1)加固中臺(tái)基底。智媒體應(yīng)對快速創(chuàng)新和海量訪問的同時(shí)要保持系統(tǒng)穩(wěn)定運(yùn)行,需要通過服務(wù)治理框架和統(tǒng)一運(yùn)維平臺(tái)的搭建,為中臺(tái)的上層提供完整的穩(wěn)定性保障[1],讓下層更關(guān)注在基礎(chǔ)資源能力本身,讓智媒體技術(shù)平臺(tái)成為媒體系統(tǒng)的設(shè)計(jì)出發(fā)點(diǎn)。

(2)提升中臺(tái)效能。用充分和不斷完善的業(yè)務(wù)理解讓中臺(tái)能力適應(yīng)更多場景,支撐更多復(fù)用,提升中臺(tái)的賦能效率。通過服務(wù)治理框架和持續(xù)集成平臺(tái)從場景支撐和研發(fā)效率兩個(gè)方面體現(xiàn)中臺(tái)的效能價(jià)值。

(3)開放中臺(tái)能力。中臺(tái)的能力應(yīng)對第三方應(yīng)用可見、可用,在保障第三方使用過程的隔離性時(shí),還要做到可控、可聯(lián),不因自身原因影響其他系統(tǒng)。

基于這三個(gè)方向,業(yè)務(wù)中臺(tái)需要通過服務(wù)治理框架支撐更多應(yīng)用場景,通過智能API 網(wǎng)關(guān)提供高性能、高可用性的API 托管服務(wù),通過運(yùn)維研發(fā)一體化平臺(tái)來提升研發(fā)效率和系統(tǒng)質(zhì)量。我們需要建設(shè)如下系統(tǒng):智能API 網(wǎng)關(guān)、持續(xù)集成平臺(tái)、統(tǒng)一運(yùn)維平臺(tái)、服務(wù)治理框架。

2 服務(wù)治理框架支撐更多應(yīng)用場景

業(yè)務(wù)中臺(tái)提供的能力從技術(shù)實(shí)現(xiàn)上講就是一個(gè)個(gè)接口服務(wù)并用不同方式組合起來。為了讓業(yè)務(wù)中臺(tái)適應(yīng)更多的場景,就要對接口服務(wù)不斷進(jìn)行治理,整合拆分,對外開放。目前的接口服務(wù)按照互聯(lián)網(wǎng)產(chǎn)品的開發(fā)模式,采用微服務(wù)架構(gòu),Spring MVC(一種Java 框架)作為程序框架,用Dubbo(一種遠(yuǎn)程過程調(diào)用框架)作為分布式框架,用K8s(Kubernetes,容器集群)完成容器的調(diào)度。在微服務(wù)架構(gòu)的基礎(chǔ)上形成業(yè)務(wù)中臺(tái)能力不斷生長的服務(wù)治理框架。

2.1 服務(wù)治理框架

智媒體的本質(zhì)是用新技術(shù)驅(qū)動(dòng)新傳播,在快速進(jìn)化過程中,不斷消化新技術(shù)、融入新創(chuàng)意、產(chǎn)出新內(nèi)容,而它的進(jìn)化依賴于技術(shù)體系三個(gè)層次的升級迭代:開放接口服務(wù)、智媒服務(wù)矩陣、深融服務(wù)治理。

2.1.1 開放接口服務(wù)

第一層次是開放接口服務(wù)。支持在智媒體技術(shù)系統(tǒng)基礎(chǔ)上進(jìn)行快速的創(chuàng)新探索和試錯(cuò)。媒體是一個(gè)創(chuàng)新驅(qū)動(dòng)的行業(yè),媒體節(jié)奏相對于技術(shù)周期突發(fā)而迅速,需要技術(shù)創(chuàng)新能夠跟上媒體節(jié)奏。這個(gè)層次的升級為的是在時(shí)間窗口內(nèi)占位,更多的是解決應(yīng)用快速創(chuàng)新和試錯(cuò)的能力[2],開放接口在領(lǐng)域和平臺(tái)上的覆蓋度很重要。在智媒體的核心領(lǐng)域包括用戶、稿件、文章、視頻、直播、音頻、積分、績效、頻道欄目、社區(qū)動(dòng)態(tài)、問政報(bào)料、自媒體等部分,都應(yīng)該有相應(yīng)的接口開放出來,同時(shí)要支持在不同技術(shù)棧上協(xié)同開發(fā),還要將開發(fā)接口封裝成不同平臺(tái)上的軟件開發(fā)包和橋接接口,從而引入上層的第三方技術(shù)生態(tài)伙伴,加快創(chuàng)新的節(jié)奏。

除了快速應(yīng)用,媒體技術(shù)同樣需要穩(wěn)扎穩(wěn)打來應(yīng)對更長遠(yuǎn)的需求,因此需要通過更多類型的服務(wù)治理,完成智媒體技術(shù)系統(tǒng)自身的升級,支持更多應(yīng)用場景,與其他行業(yè)深度融合。

2.1.2 智媒服務(wù)矩陣

第二層次是智媒服務(wù)矩陣。智媒服務(wù)矩陣沉淀和整理智媒體所需的各種服務(wù),覆蓋內(nèi)容生產(chǎn)的六大環(huán)節(jié),如采集匯聚、策劃指揮、內(nèi)容生產(chǎn)、審核發(fā)布、數(shù)據(jù)分析、綜合服務(wù),同時(shí)對系統(tǒng)集成和定制區(qū)域進(jìn)行歸納,識(shí)別出核心服務(wù)。不斷升級核心服務(wù),一方面,基于業(yè)務(wù)中臺(tái)向下開放的程度,在底層引入更多新技術(shù)供應(yīng)商在AI、數(shù)據(jù)、算法上的能力,在智媒服務(wù)中暴露出來;另一方面,強(qiáng)化業(yè)務(wù)中臺(tái)向上支撐的力度,通過自身技術(shù)團(tuán)隊(duì)不斷細(xì)化和強(qiáng)化核心服務(wù),支持內(nèi)容生產(chǎn)端、呈現(xiàn)端和互動(dòng)端更長遠(yuǎn)的技術(shù)準(zhǔn)備。在內(nèi)容生產(chǎn)端上主要是細(xì)化六大環(huán)節(jié)的各項(xiàng)功能,并預(yù)埋定制接口方便升級和接入;在內(nèi)容呈現(xiàn)和交互端上不僅要在服務(wù)端上強(qiáng)化服務(wù)能力,更要在移動(dòng)端上強(qiáng)化移動(dòng)中臺(tái)服務(wù)的支持,在充分理解移動(dòng)傳播的基礎(chǔ)上,通過移動(dòng)中臺(tái)為上層應(yīng)用提供開箱即用的服務(wù)能力。在移動(dòng)端的中臺(tái)服務(wù)如圖1所示。

移動(dòng)中臺(tái)從工程效率、移動(dòng)監(jiān)控、App 端安全、App 端AI、基礎(chǔ)設(shè)施和業(yè)務(wù)組件六個(gè)領(lǐng)域?yàn)樯蠈庸δ芴峁┓?wù)支持。

圖1 移動(dòng)中臺(tái)

工程效率包括模塊化、打包服務(wù)、灰度部署;移動(dòng)監(jiān)控包括本地日志、異常監(jiān)控、業(yè)務(wù)監(jiān)控、離線報(bào)表、性能監(jiān)控;App 端安全包括代碼混淆、應(yīng)用加殼、數(shù)據(jù)加密、接口加密;App 端AI 包括語音識(shí)別、語音合成、用戶畫像、智能助手、端智能平臺(tái)、AR、圖像識(shí)別;基礎(chǔ)設(shè)施包括網(wǎng)絡(luò)庫、圖片加載、列表行為、音視頻播放、相冊、數(shù)據(jù)庫管理、文件管理、推送、二維碼生成及掃描、自定義表情、長鏈接、H5 容器、路由框架、內(nèi)部通信、權(quán)限引導(dǎo)、應(yīng)用內(nèi)升級、視頻編解碼、素材庫、直播推流;業(yè)務(wù)組件包括分享以及第三方登錄、社區(qū)圈子、動(dòng)態(tài)話題、新聞列表、新聞詳情、直播、音頻新聞、小視頻、報(bào)料及其管理、云求助、提問、稿件審核、頻道管理。

2.1.3 深融服務(wù)治理

第三層次是深融服務(wù)治理。在前兩個(gè)層次的支持下,智媒體可以支持更多應(yīng)用場景,通過媒體+、智能+、數(shù)據(jù)+的模式不斷融合到其他領(lǐng)域,在這個(gè)層次中,更重要的是服務(wù)架構(gòu)自身的靈活程度。智媒體需要在如下三個(gè)方面進(jìn)行加強(qiáng):服務(wù)編排配置管理、服務(wù)多租戶改造、服務(wù)注冊/發(fā)現(xiàn)。

服務(wù)編排配置管理讓業(yè)務(wù)中臺(tái)的微服務(wù)能更加靈活地適應(yīng)各種應(yīng)用場景,通過配置管理切換微服務(wù)的運(yùn)行模式、運(yùn)行環(huán)境和運(yùn)行狀態(tài)。配置中心中不同客戶、不同項(xiàng)目的配置在ZooKeeper(一種分布式協(xié)調(diào)服務(wù))上分開存儲(chǔ)。同時(shí)配置中心提供團(tuán)隊(duì)的公共配置,同一團(tuán)隊(duì)下的項(xiàng)目共享此配置,如果項(xiàng)目配置中存在和公共配置相同的配置,則優(yōu)先從項(xiàng)目配置中讀取此配置;在項(xiàng)目啟動(dòng)時(shí),配置中心根據(jù)AppTeam、AppName,從ZooKeeper 中讀取項(xiàng)目配置和公共配置,對此項(xiàng)目配置數(shù)據(jù)節(jié)點(diǎn)目錄和公共配置數(shù)據(jù)節(jié)點(diǎn)目錄建立監(jiān)聽;在項(xiàng)目Bean初始化完成后,掃描項(xiàng)目中所有使用占位符的方法和屬性,將占位符替換為Bean 實(shí)例、屬性和方法;當(dāng)項(xiàng)目配置或公共配置數(shù)據(jù)節(jié)點(diǎn)發(fā)生變更時(shí),配置中心會(huì)收到數(shù)據(jù)變更通知事件;收到數(shù)據(jù)節(jié)點(diǎn)變更通知后,獲取此次發(fā)生變更的配置Key 和Value,使用反射技術(shù)更改屬性或方法的值。

服務(wù)多租戶化支持服務(wù)的不同業(yè)務(wù)實(shí)例,需要進(jìn)行微服務(wù)的多租戶化改造。這里改造要解決兩個(gè)難點(diǎn),一個(gè)是在微服務(wù)無狀態(tài)的調(diào)用特性情況下,如何進(jìn)行租戶ID 的透傳;另一個(gè)是多個(gè)租戶的數(shù)據(jù)源如何管理和下發(fā)。在不侵入程序的情況下,用擴(kuò)展而非修改的方式進(jìn)行服務(wù)的多租戶化改造,可采用如下幾種措施:開發(fā)多租戶Agent,利用Java 的Agent 技術(shù),從旁路集成到微服務(wù)程序,攔截服務(wù)被調(diào)用或者調(diào)用其他服務(wù)時(shí)的請求,并自動(dòng)在請求中增加租戶ID;對于微服務(wù)使用的中間件,采用全鏈路監(jiān)控的探針技術(shù),完成租戶ID 透傳。對于第二個(gè)難點(diǎn),我們通過分布式協(xié)調(diào)統(tǒng)一下發(fā)數(shù)據(jù)源配置,動(dòng)態(tài)管理租戶數(shù)據(jù)源,對系統(tǒng)代碼零入侵。

服務(wù)注冊/發(fā)現(xiàn)是微服務(wù)框架中的標(biāo)準(zhǔn)功能,微服務(wù)必須經(jīng)過注冊后,才可以被調(diào)用方發(fā)現(xiàn)。在業(yè)務(wù)中臺(tái)中,我們在服務(wù)注冊/發(fā)現(xiàn)能力上進(jìn)行了兩個(gè)方面的加強(qiáng),首先是對前臺(tái)應(yīng)用增加注冊功能,前臺(tái)應(yīng)用在通過智能網(wǎng)關(guān)調(diào)用API 之前,必須通過服務(wù)注冊獲取該應(yīng)用的Token,通過Token 調(diào)用各種服務(wù);其次是下發(fā)定制信息,通過注冊中心主動(dòng)推送消息到服務(wù)中,比如租戶的數(shù)據(jù)源信息等。一個(gè)智媒體技術(shù)系統(tǒng)通常由幾十個(gè)甚至上百個(gè)服務(wù)構(gòu)成。我們采用Client-Sever 架構(gòu),獨(dú)立出一個(gè)注冊中心,每個(gè)服務(wù)啟動(dòng)后都去注冊中心進(jìn)行自我注冊,當(dāng)注冊中心有了新的數(shù)據(jù)源信息時(shí),就會(huì)基于事件把新的數(shù)據(jù)源信息推送給每個(gè)注冊的服務(wù),然后每個(gè)服務(wù)將新增的數(shù)據(jù)源加入自己的數(shù)據(jù)源集合中。

3 智能網(wǎng)關(guān)提供API 托管服務(wù)

智能API 網(wǎng)關(guān)將接口層調(diào)用管理和性能控制集成到業(yè)務(wù)中臺(tái)中,各種前臺(tái)應(yīng)用從能力上、項(xiàng)目上減少和后端開發(fā)的緊耦合。根據(jù)不同的企業(yè)中臺(tái)需求痛點(diǎn),智媒體主要在如下四個(gè)方面打造智能網(wǎng)關(guān):

(1)API 發(fā)布與管理。業(yè)務(wù)中臺(tái)包含大量的業(yè)務(wù)中心,同時(shí)存在多個(gè)異構(gòu)系統(tǒng)。API 網(wǎng)關(guān)通過統(tǒng)一的發(fā)布與管理來進(jìn)行這些業(yè)務(wù)接口和服務(wù)能力的治理和托管。

(2)API 租戶與計(jì)費(fèi)。TOB 屬性將會(huì)作為業(yè)務(wù)中臺(tái)對企業(yè)能力的強(qiáng)補(bǔ)充。API 網(wǎng)關(guān)的客戶端管理、租戶與計(jì)費(fèi)功能將會(huì)作為企業(yè)TOB 能力的統(tǒng)一出口。

(3)API SLA 功能管理。為了保證高可用的接口服務(wù),API 網(wǎng)關(guān)實(shí)現(xiàn)了接口的降級、熔斷、限流、黑白名單等非功能性的需求。

(4)API 統(tǒng)計(jì)分析。通過統(tǒng)計(jì)分析功能對接口調(diào)用情況進(jìn)行量化,能夠查看到SLA 指標(biāo)或者加入監(jiān)控的功能。

3.1 智能API 網(wǎng)關(guān)整體架構(gòu)

智能API 網(wǎng)關(guān)總體采用的架構(gòu)思想,如圖2所示:

圖2 智能網(wǎng)關(guān)整體架構(gòu)

智能網(wǎng)關(guān)支持各種程序語言,客戶端可以采用多種方式訪問智能網(wǎng)關(guān),Java 原生程序或者Spring 框架程序可以通過SDK 訪問,其他語言的程序可以通過Http 協(xié)議來訪問;服務(wù)端可以通過Dobbo、Http、Spring Cloud 等協(xié)議提供接口,同樣也支持各種語言開發(fā)的服務(wù)端程序;網(wǎng)關(guān)集群上實(shí)現(xiàn)路由組件和服務(wù)組件的高可用和高性能,避免這個(gè)環(huán)節(jié)的單點(diǎn)故障,提高性能,網(wǎng)關(guān)消耗在1 ~2ms;通過插件化設(shè)計(jì)思想,在插件層可以通過熱插拔、易擴(kuò)展的方式接入更多插件;內(nèi)置豐富的插件支持,包括鑒權(quán)、限流、熔斷、防火墻等,實(shí)現(xiàn)靈活的流量篩選,能滿足各種流量控制。

3.2 使用API 網(wǎng)關(guān)進(jìn)行服務(wù)的發(fā)布與管理

封面智能API 網(wǎng)關(guān)使用服務(wù)管理和路由管理兩個(gè)功能來完成服務(wù)的發(fā)布與管理。

3.2.1 服務(wù)管理

服務(wù)管理指的是整個(gè)業(yè)務(wù)中臺(tái)能夠提供的各種服務(wù),可以是一個(gè)Rest 請求的接口,一個(gè)Dubbo 的服務(wù),或者是一個(gè)AI 的算法服務(wù)等。

網(wǎng) 關(guān) 支 持Http、Https、Dubbo、Nacos 等多種服務(wù)配置。Http 和Https 服務(wù)配置超時(shí)時(shí)間和對應(yīng)的URL 地址,URL 地址支持負(fù)載均衡;Dubbo 配置ZK 地址和服務(wù)Group、ID、超時(shí)時(shí)間等;Nacos 配置服務(wù)器地址、接口名稱、Group 等。

3.2.2 路由管理

網(wǎng)關(guān)對外的最終出口都是通過Restful 接口方式,路由配合則決定了一個(gè)Resturl 會(huì)被路由到哪個(gè)服務(wù)上。主要的配置信息應(yīng)該包括:路由是配置網(wǎng)關(guān)對應(yīng)的URI 跳轉(zhuǎn)到那一個(gè)服務(wù)的;主要配置分組(分組可以帶一級URI)、URI、對應(yīng)的服務(wù);配置是否開啟認(rèn)證,開啟之后會(huì)通過消費(fèi)者管理認(rèn)證規(guī)則進(jìn)行認(rèn)證;完成了服務(wù)和路由的配置后,業(yè)務(wù)中臺(tái)的各種能力就有了一個(gè)統(tǒng)一的對外接口。

3.3 使用API 網(wǎng)關(guān)為企業(yè)TOB 賦能

企業(yè)一般通過PASS 平臺(tái)的方式完成TOB的技術(shù)支撐。一般的PASS 平臺(tái)都會(huì)具有租戶、鑒權(quán)、計(jì)費(fèi)等功能。封面把這些功能也做到了智能API 網(wǎng)關(guān)中。

3.3.1 消費(fèi)者管理

消費(fèi)者在這里表示為PASS 平臺(tái)的租戶。對每個(gè)消費(fèi)者可配置其自己的AccessKey 和AccessToken 用作權(quán)限校驗(yàn);對每個(gè)消費(fèi)者配置其可以訪問的接口列表。

3.3.2 計(jì)費(fèi)能力

對每個(gè)消費(fèi)者智能網(wǎng)關(guān)支持定義其對每個(gè)接口每一天和每個(gè)月的訪問次數(shù)上限;超過上限后會(huì)發(fā)送告警給管理員,并且會(huì)對接口進(jìn)行限速。

3.4 API 網(wǎng)關(guān)使用插件化的機(jī)制來進(jìn)行擴(kuò)展

為了實(shí)現(xiàn)更好的可擴(kuò)展性,API 網(wǎng)關(guān)支持Java 語言的插件擴(kuò)展。

目前使用了內(nèi)置的插件功能來完成對接口各種非功能的特性進(jìn)行支撐。目前主要提供的插件為:

Mock 插件??梢訫ock 接口的請求,可以用作測試環(huán)境。

IP 訪問控制??梢栽O(shè)置IP 訪問的黑、白名單來增加安全性。

斷路器。用來配置系統(tǒng)降級之后的業(yè)務(wù)行為,保證高可用性。

流量保護(hù)。防止突發(fā)流量把系統(tǒng)打垮,可以實(shí)現(xiàn)流量限制。

3.5 使用API 網(wǎng)關(guān)來進(jìn)行系統(tǒng)功能統(tǒng)計(jì)分析及告警

3.5.1 系統(tǒng)功能統(tǒng)計(jì)分析

為了能夠從整體上更好地進(jìn)行業(yè)務(wù)接口質(zhì)量和能力的評估分析,提供了詳細(xì)的統(tǒng)計(jì)分析功能。主要包括如下的分析內(nèi)容:

API 請求次數(shù)統(tǒng)計(jì):按照不同時(shí)間周期統(tǒng)計(jì)API 調(diào)用次數(shù)。

API QPS 統(tǒng)計(jì):統(tǒng)計(jì)接口單位時(shí)間的調(diào)用情況,為性能優(yōu)化提供數(shù)據(jù)。

API 流量統(tǒng)計(jì):統(tǒng)計(jì)接口調(diào)用對流量帶寬的占用情況。

API 響應(yīng)平均時(shí)長:統(tǒng)計(jì)接口單次調(diào)用的響應(yīng)時(shí)長,和QPS 一起成為性能優(yōu)化的重要依據(jù)。

API 響應(yīng)狀態(tài)碼統(tǒng)計(jì):統(tǒng)計(jì)接口成功和錯(cuò)誤的數(shù)量,作為質(zhì)量優(yōu)化的重要依據(jù)。

API 可用率計(jì)算:接口穩(wěn)定性的重要指標(biāo)。

斷流、限流出發(fā)次數(shù)統(tǒng)計(jì):接口容錯(cuò)性的重要指標(biāo)。

3.5.2 接口調(diào)用情況監(jiān)控與告警

基于實(shí)時(shí)的API 網(wǎng)關(guān)監(jiān)控分析功能,封面網(wǎng)關(guān)還提供了對指定指標(biāo)進(jìn)行告警的功能。主要需要配置監(jiān)控指標(biāo)、告警規(guī)則和告警方式。其中,監(jiān)控指標(biāo)主要有錯(cuò)誤數(shù)量、請求次數(shù)、流量、QPS 等;告警規(guī)則主要有超出某個(gè)閾值、多長時(shí)間內(nèi)沒有響應(yīng)等;告警方式主要有釘釘、郵件、短信通知等。

4 運(yùn)維研發(fā)一體化平臺(tái)提升研發(fā)和運(yùn)維效率

業(yè)務(wù)中臺(tái)通過原生容器云和各種運(yùn)維工具的引入,實(shí)現(xiàn)自動(dòng)化的流程、快速敏捷的開發(fā)、持續(xù)交付和部署。以此來提升我們的研發(fā)效能與代碼質(zhì)量。

運(yùn)維研發(fā)一體化平臺(tái)包括持續(xù)集成平臺(tái)和統(tǒng)一運(yùn)維平臺(tái)。

持續(xù)集成平臺(tái)提供開發(fā)測試部署上線運(yùn)行全流程中的各個(gè)環(huán)節(jié)的自動(dòng)化、安全性和應(yīng)急操作,通過應(yīng)用發(fā)布流水線管理,讓代碼、構(gòu)建、測試、質(zhì)量、鏡像、灰度、藍(lán)綠、發(fā)布等環(huán)節(jié)自動(dòng)化;通過K8s 的引入讓服務(wù)彈性橫向擴(kuò)容功能更便捷,擴(kuò)容速度更快;通過各種環(huán)境和資源隔離等操作,為上層應(yīng)用提供統(tǒng)一安全保障。

統(tǒng)一運(yùn)維平臺(tái)使用云和其他基礎(chǔ)設(shè)施能力以及應(yīng)用各種技術(shù)中間件的能力進(jìn)行整合和包裝,通過各種監(jiān)控手段對業(yè)務(wù)中臺(tái)運(yùn)行情況進(jìn)行收集和展示,包括監(jiān)控Portal、提供基礎(chǔ)監(jiān)控、接口監(jiān)控、業(yè)務(wù)監(jiān)控;統(tǒng)一日志,提供日志查詢、分析、異常告警的能力;全鏈路監(jiān)控,提供全鏈路監(jiān)控和全鏈路壓測的能力。運(yùn)維研發(fā)一體化平臺(tái)為業(yè)務(wù)中臺(tái)打下了堅(jiān)實(shí)的基礎(chǔ)。

4.1 運(yùn)維研發(fā)一體化平臺(tái)的底層容器能力

整個(gè)平臺(tái)依賴于虛擬化技術(shù)來構(gòu)建底層分布式容器能力,整體架構(gòu)主要具有如下特點(diǎn):使用Docker 虛擬化技術(shù)來屏蔽硬件環(huán)境的異構(gòu)性;使用K8s 進(jìn)行容器編排,提供底層完備的運(yùn)行時(shí)環(huán)境和分布式PASS 平臺(tái)能力;充分利用Kubernetes 共享信息,自動(dòng)化配置;通過快速集成能力,與各種DevOps 工具相結(jié)合。

4.2 運(yùn)維研發(fā)一體化平臺(tái)提供持續(xù)集成服務(wù)

持續(xù)集成的目的是持續(xù)交付和持續(xù)部署。整個(gè)流程主要分為構(gòu)建管理、資源管理、代碼管理和部署發(fā)布管理四個(gè)部分,通過Jenkins+Gitlab+定制開發(fā)實(shí)現(xiàn)這四個(gè)部分。

構(gòu)建管理:通過監(jiān)控代碼發(fā)布,配置測試環(huán)境和編譯環(huán)境,實(shí)現(xiàn)自動(dòng)化測試和構(gòu)建。

資源管理:為構(gòu)建和自動(dòng)化測試分配資源,通過精細(xì)化管理,為持續(xù)集成管理節(jié)點(diǎn)資源。

代碼管理:基于Gitlab 自建代碼庫,定義發(fā)布模板和分支規(guī)范,為持續(xù)集成管理代碼分支。

部署發(fā)布管理:定制開發(fā)部署發(fā)布系統(tǒng),一邊對接構(gòu)建管理,一邊對接容器集群和鏡像倉庫,實(shí)現(xiàn)自動(dòng)化交付。

4.3 全鏈路跟蹤工具來跟蹤系統(tǒng)線上運(yùn)行狀態(tài)

智媒體業(yè)務(wù)中臺(tái)為了應(yīng)對各種復(fù)雜的業(yè)務(wù),采用敏捷開發(fā)、持續(xù)集成等開發(fā)方式。系統(tǒng)架構(gòu)也從單機(jī)大型軟件演化成微服務(wù)架構(gòu)。微服務(wù)構(gòu)建在不同的軟件集上,這些軟件模塊可能是由不同團(tuán)隊(duì)開發(fā)的,可能使用不同的編程語言來實(shí)現(xiàn),還可能發(fā)布在多臺(tái)服務(wù)器上。因此,如果一個(gè)服務(wù)出現(xiàn)問題,可能導(dǎo)致幾十個(gè)應(yīng)用都出現(xiàn)服務(wù)異常。

全鏈路跟蹤系統(tǒng)可以記錄請求范圍內(nèi)的信息,例如,一次遠(yuǎn)程方法調(diào)用的執(zhí)行過程和耗時(shí),全鏈路跟蹤系統(tǒng)是我們排查系統(tǒng)問題和系統(tǒng)性能的重要工具。

4.3.1 全鏈路跟蹤的總體架構(gòu)

全鏈路跟蹤系統(tǒng)通過使用客戶端Agent 的方式來采集各種應(yīng)用程序的使用和接口調(diào)用信息,然后輸出日志到分析中心,最后在分析中心進(jìn)行統(tǒng)計(jì)分析和監(jiān)控告警。

鏈路追蹤的主要工作流程為客戶側(cè)的應(yīng)用程序通過集成鏈路追蹤的多語言客戶端SDK 上報(bào)服務(wù)調(diào)用數(shù)據(jù);數(shù)據(jù)上報(bào)至鏈路追蹤控制臺(tái)后,鏈路追蹤組件進(jìn)行實(shí)時(shí)聚合計(jì)算和持久化,形成鏈路明細(xì)、性能總覽、實(shí)時(shí)拓?fù)涞缺O(jiān)控?cái)?shù)據(jù)。

4.3.2 全鏈路跟蹤的主要功能

全鏈路跟蹤的主要功能如下:

分布式調(diào)用鏈查詢和診斷:追蹤分布式架構(gòu)中的所有微服務(wù)用戶請求,并將它們匯總成分布式調(diào)用鏈。

應(yīng)用性能實(shí)時(shí)匯總:通過追蹤整個(gè)應(yīng)用程序的用戶請求,來實(shí)時(shí)匯總組成應(yīng)用程序的單個(gè)服務(wù)和資源。

分布式拓?fù)鋭?dòng)態(tài)發(fā)現(xiàn):用戶的所有分布式微服務(wù)應(yīng)用和相關(guān)PaaS 產(chǎn)品可以通過鏈路追蹤收集到分布式調(diào)用信息。

多語言開發(fā)程序接入:基于OpenTracing 標(biāo)準(zhǔn),全面兼容開源社區(qū),例如Jaeger、Zipkin。

5 成 效

智媒體采用業(yè)務(wù)中臺(tái)后,取得非常明顯的效果,系統(tǒng)部署上線時(shí)間從2 周縮短至3 天,新業(yè)務(wù)接入縮短至以周為單位,系統(tǒng)提供更多開發(fā)模式,使更多第三方合作伙伴可以加入智媒體周邊的開發(fā)當(dāng)中,為媒體業(yè)務(wù)的技術(shù)驅(qū)動(dòng)提供聯(lián)盟、合作、生態(tài)、共享的解決方案。

6 結(jié) 語

基于智媒體業(yè)務(wù)中臺(tái)的研究和探索,我們在智能API 網(wǎng)關(guān)、持續(xù)集成平臺(tái)、統(tǒng)一運(yùn)維平臺(tái)、服務(wù)治理框架四個(gè)方面進(jìn)行開發(fā)和搭建,根本上要解決如下三個(gè)方面的問題,中臺(tái)基底的加固、中臺(tái)效能的提升和中臺(tái)能力的開放。

一是中臺(tái)基底的加固。通過服務(wù)治理框架和統(tǒng)一運(yùn)維平臺(tái)的搭建,系統(tǒng)具有各種監(jiān)控手段對業(yè)務(wù)中臺(tái)運(yùn)行情況進(jìn)行收集和展示;具有統(tǒng)一日志和異常告警能力對異常情況進(jìn)行快速排查和解決;具有全鏈路監(jiān)控和全鏈路壓測工具對系統(tǒng)運(yùn)行鏈路進(jìn)行全環(huán)節(jié)完整的監(jiān)控和優(yōu)化。中臺(tái)層面上的監(jiān)控、告警、全鏈路工具為中臺(tái)的下層提供完整的穩(wěn)定性保障,讓下層更關(guān)注基礎(chǔ)資源能力本身。

二是中臺(tái)效能的提升。中臺(tái)作為上層應(yīng)用賦能單元,其賦能效率非常重要。只有在中臺(tái)基礎(chǔ)上更快速、更完整地支撐上層應(yīng)用,中臺(tái)的價(jià)值才能體現(xiàn)出來。微服務(wù)治理框架為系統(tǒng)帶來配置中心、注冊中心和多租戶能力,通過多層配置、服務(wù)注冊、租戶改造,中臺(tái)將適應(yīng)更多應(yīng)用場景。持續(xù)集成平臺(tái)提供開發(fā)測試部署上線運(yùn)行全流程中各個(gè)環(huán)節(jié)的自動(dòng)化、安全性和應(yīng)急操作,通過應(yīng)用發(fā)布流水線管理,K8s的引入讓開發(fā)運(yùn)維更加敏捷,從場景支撐和研發(fā)效率兩個(gè)方面體現(xiàn)中臺(tái)的效能價(jià)值。

三是中臺(tái)能力的開放。中臺(tái)作為技術(shù)生態(tài)體系的組件,開放程度很重要,中臺(tái)的能力應(yīng)對第三方應(yīng)用可見、可用、可控、可聯(lián)。智能API 網(wǎng)關(guān)通過可視化手段將大量業(yè)務(wù)中心的業(yè)務(wù)接口和服務(wù)能力在智能網(wǎng)關(guān)中治理和托管,通過統(tǒng)計(jì)分析功能對接口調(diào)用情況進(jìn)行量化,實(shí)現(xiàn)能力可見;作為業(yè)務(wù)中臺(tái)對企業(yè)能力的強(qiáng)補(bǔ)充,API 網(wǎng)關(guān)的客戶端管理、租戶與計(jì)費(fèi)功能將會(huì)作為企業(yè)TOB 能力的統(tǒng)一出口,實(shí)現(xiàn)能力可用;API SLA 功能管理保證高可用的接口服務(wù),實(shí)現(xiàn)了接口的降級、熔斷、限流、黑白名單等非功能的性能需求,實(shí)現(xiàn)能力可控可聯(lián)。

猜你喜歡
中臺(tái)租戶調(diào)用
中臺(tái)是媒體轉(zhuǎn)型必經(jīng)之路嗎?
——媒體中臺(tái)建設(shè)的特點(diǎn)和誤區(qū)
視聽界(2021年2期)2021-11-27 00:30:14
關(guān)于零售企業(yè)“中臺(tái)”建設(shè)的研究
汽車制造企業(yè)質(zhì)量中臺(tái)研究
以技術(shù)開發(fā)中心為中臺(tái),數(shù)字化轉(zhuǎn)型之見解
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
基于MVC模式的多租戶portlet應(yīng)用研究*
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
租戶是大爺
特別文摘(2014年17期)2014-09-18 01:31:21
企業(yè)多租戶云存儲(chǔ)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
宁国市| 台南市| 曲沃县| 吴桥县| 易门县| 怀集县| 临泉县| 石嘴山市| 樟树市| 巴中市| 会东县| 丹东市| 中山市| 宾川县| 理塘县| 贵定县| 惠东县| 垦利县| 南阳市| 瑞安市| 运城市| 南华县| 漯河市| 繁昌县| 朝阳市| 金昌市| 大悟县| 中卫市| 明星| 沙雅县| 海盐县| 砚山县| 乐安县| 杂多县| 阳城县| 安庆市| 金沙县| 清原| 杭锦后旗| 漠河县| 青海省|