Mob林榮波:再論數(shù)據(jù)工廠架構(gòu)升級(jí)
原創(chuàng)【51CTO.com原創(chuàng)稿件】2018年5月18-19日,由51CTO主辦的全球軟件與運(yùn)維技術(shù)峰會(huì)在北京召開。此次峰會(huì)圍繞人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)、區(qū)塊鏈等12大核心熱點(diǎn),匯聚海內(nèi)外60位一線專家,是一場(chǎng)高端的技術(shù)盛宴,也是頂級(jí)IT技術(shù)人才學(xué)習(xí)和人脈拓展不容錯(cuò)過的平臺(tái)。
在“大數(shù)據(jù)處理技術(shù)”分會(huì)場(chǎng),Mob開發(fā)者服務(wù)平臺(tái)技術(shù)副總監(jiān)林榮波帶來了《數(shù)據(jù)工廠架構(gòu)升級(jí)分享》的主題分享,會(huì)后,51CTO記者對(duì)林榮波進(jìn)行了專訪,就數(shù)據(jù)工廠架構(gòu)進(jìn)行了深入探討。
林榮波,7年移動(dòng)互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),曾負(fù)責(zé)多家公司公共核心系統(tǒng)的架構(gòu)設(shè)計(jì)與開發(fā),擅長(zhǎng)處理千萬級(jí)的并發(fā)、TB級(jí)的數(shù)據(jù)處理以及系統(tǒng)治理。現(xiàn)任Mob開發(fā)者服務(wù)平臺(tái)技術(shù)副總監(jiān),負(fù)責(zé)SDK業(yè)務(wù)整體架構(gòu)設(shè)計(jì)實(shí)施以及人才管理及引進(jìn)工作。
早在2012年,MobData前身掌淘科技就已經(jīng)開始研發(fā)SDK產(chǎn)品。經(jīng)歷6年的發(fā)展和積累,相繼推出的13款SDK產(chǎn)品,涵蓋了第三方登錄、分享、短信驗(yàn)證、消息推送、手游錄像、用戶系統(tǒng)、數(shù)據(jù)API等全方面的SDK需求,幫助開發(fā)者降低開發(fā)成本,提升集成效率,打造完善的數(shù)據(jù)統(tǒng)計(jì)后臺(tái),累計(jì)5年無重大事故。
有了品類豐富且多樣化的SDK產(chǎn)品,也造就了MobData國(guó)際領(lǐng)先的數(shù)據(jù)實(shí)力,現(xiàn)今數(shù)據(jù)源已覆蓋國(guó)內(nèi)84億的移動(dòng)設(shè)備,產(chǎn)品服務(wù)于26萬+的開發(fā)者,月活超過9.5億,SDK下載量突破330萬次。
Mob數(shù)據(jù)工廠架構(gòu)
數(shù)據(jù)工廠包含數(shù)據(jù)采集、數(shù)據(jù)處理等功能,旨在對(duì)行業(yè)大數(shù)據(jù)進(jìn)行一系列規(guī)范化處理,提供強(qiáng)大的數(shù)據(jù)管理、分析等能力。
Mob既是開發(fā)者服務(wù)平臺(tái),也是第三方全景數(shù)據(jù)服務(wù)平臺(tái)。林榮波介紹說,Mob數(shù)據(jù)工廠的架構(gòu)分為兩大部分:數(shù)據(jù)采集和數(shù)據(jù)分析挖掘。
Mob 當(dāng)前技術(shù)架構(gòu)2.0
數(shù)據(jù)采集的主要責(zé)任是通過不同的產(chǎn)品獲取數(shù)據(jù)。之后,數(shù)據(jù)通過Flume傳到HDFS。在數(shù)據(jù)分析挖掘部分,自下而上依次是存儲(chǔ)介質(zhì)、計(jì)算框架、模型算法、應(yīng)用層。
數(shù)據(jù)工廠架構(gòu)三大難題
在數(shù)據(jù)采集、處理過程中,有三個(gè)比較大的難題:數(shù)據(jù)源、數(shù)據(jù)關(guān)系、商業(yè)化產(chǎn)品產(chǎn)出效能。
數(shù)據(jù)源包括地域和應(yīng)用市場(chǎng)政策的問題,硬件和系統(tǒng)兼容的問題,SDK業(yè)務(wù)團(tuán)隊(duì)與商業(yè)化團(tuán)隊(duì)的碰撞問題。
數(shù)據(jù)關(guān)系的難題首先來自從數(shù)據(jù)源到成品的數(shù)據(jù)鏈雜亂,因?yàn)閺臄?shù)據(jù)的廣度和數(shù)量都很龐大。對(duì)于一些新來的員工,學(xué)習(xí)成本很高。如果員工對(duì)數(shù)據(jù)的關(guān)系不太清晰,就會(huì)導(dǎo)致重復(fù)的計(jì)算或者對(duì)數(shù)據(jù)的使用不當(dāng)。這樣一來,數(shù)據(jù)關(guān)系越來越亂,維護(hù)成本也越來越高。
商業(yè)化產(chǎn)品產(chǎn)出效能的難點(diǎn)包括產(chǎn)品迭代快和新品產(chǎn)出效能低之間的矛盾、大數(shù)據(jù)開發(fā)和產(chǎn)品服務(wù)端耦合度高的矛盾、服務(wù)穩(wěn)定性隔離性差。
三大解決之道
針對(duì)這三大難題,林榮波也給出了解決之道。
首先,在數(shù)據(jù)源問題上,Mob采用了公有云+私有云的方案,除了自建機(jī)房外,也對(duì)外采購(gòu)了不少亞馬遜和阿里云的服務(wù)器,采用智能DNS+本地服務(wù)干預(yù)來把控整個(gè)服務(wù)流量的分發(fā)。在遇到DDOS攻擊的時(shí)候,基本上可以借助阿里云的平臺(tái)去實(shí)現(xiàn)迭代,保證自己數(shù)據(jù)的正常。針對(duì)數(shù)據(jù)項(xiàng)的政策問題,Mob增加了服務(wù)器開關(guān),讓每一個(gè)服務(wù)、每一個(gè)數(shù)據(jù)項(xiàng)都有相應(yīng)的開關(guān)。當(dāng)流量大的時(shí)候,也可以通過服務(wù)的開關(guān)來控制流量。Mob還建立了一個(gè)通用組件團(tuán)隊(duì),專門處理通信標(biāo)準(zhǔn)化、AOP、源數(shù)據(jù)監(jiān)控等問題。
在數(shù)據(jù)關(guān)系問題上,林榮波表示,對(duì)于大數(shù)據(jù)來說,數(shù)據(jù)就是血液。數(shù)據(jù)與數(shù)據(jù)之間有血緣關(guān)系的特征。Mob開發(fā)了“血緣管理系統(tǒng)”,其實(shí)就是標(biāo)準(zhǔn)化任務(wù)腳本和頭部定義。所有的任務(wù)需要按照規(guī)范定義這個(gè)任務(wù)本身的歸屬者是誰,提交給任務(wù)調(diào)撥系統(tǒng)的時(shí)候,系統(tǒng)本身就會(huì)檢測(cè)這個(gè)任務(wù)是否合規(guī)范。隨后,解析其頭部,把相關(guān)的數(shù)據(jù)關(guān)系提取出來,放到數(shù)據(jù)庫里,最終以圖的形式展示整個(gè)數(shù)據(jù)源的關(guān)系。
之后,Mob開發(fā)了QC系統(tǒng)(監(jiān)控?cái)?shù)據(jù)流健康狀態(tài)&容錯(cuò)處理),QC主要做兩方面的工作,一是通用檢測(cè),另外一個(gè)是自定義的檢測(cè)。自定義檢測(cè)是針對(duì)一些特殊的需求,需要開發(fā)人員自己去寫代碼和腳本,按照規(guī)范去提交。
在商業(yè)化產(chǎn)品產(chǎn)出效能問題的解決上, Mob做了中間件的產(chǎn)品。中間件可以稱為數(shù)據(jù)庫客戶端,包括三部分:商業(yè)系統(tǒng)、網(wǎng)關(guān)、過載保護(hù)?;诂F(xiàn)有的框架,Mob從技術(shù)上也會(huì)更多地去考慮如何更高效地利用資源,提升數(shù)據(jù)處理效率。
數(shù)據(jù)量大、數(shù)據(jù)處理能力強(qiáng),是Mob兩個(gè)最大的優(yōu)勢(shì),此外,Mob 7×24小時(shí)的服務(wù)也是一大亮點(diǎn)。談到未來的發(fā)展方向,林榮波表示,一是提升繼續(xù)Mob數(shù)據(jù)處理的能力,節(jié)省服務(wù)器資源。二是會(huì)考慮引進(jìn)外部數(shù)據(jù),充實(shí)自己的數(shù)據(jù)量。
以上內(nèi)容是51CTO記者根據(jù)Mob林榮波在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的采訪內(nèi)容整理,更多關(guān)于WOT的內(nèi)容請(qǐng)關(guān)注51cto.com。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】