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