AdMaster劉喆:AdMaster的Lambda架構實踐
原創【51CTO.com原創稿件】2016 年11月25-26日,WOT2016大數據峰會在北京粵財JW萬豪酒店召開,50多位大數據領域一線專家、數據技術先行者齊聚現場,在圍繞數據智能、大 數據商業、區塊鏈、實時計算、系統架構、NoSQL等前沿技術話題展開深度交流和溝通探討的同時,分享大數據領域***實踐和最熱門的行業應用。
在WOT2016大數據技術峰會系統架構分會場,來自AdMaster的資深架構師劉喆發表了演講,他的演講主題是AdMaster的Lambda架構實踐。會后51CTO記者在現場對他進行了專訪。
【受訪人簡介】
劉喆·AdMaster資深架構師
劉喆(Zhe Liu),目前任現任架構師,主要負責數據處理的全流程技術支持, 高性能和高可用的分布式架構設計, DSL 語言抽象, Hadoop/HBase/Storm/Spark等大數據平臺優化。2010年碩士畢業后, 劉喆在百度就職, 負責當時全球規模***的 hadoop 平臺的運維開發工作. 2011年底加入人民搜索, 代理運維總監。近7 年的大學生活和近 5 年的工作經歷中, 劉喆一直在追求簡單直接,關注于數據挖掘/大數據/DSL/系統架構, 對分布式計算/分布式架構和程序語言情有獨鐘, 曾多次被51CTO/spark 峰會/into100峰會等邀請為嘉賓分享Hadoop/spark/開源軟件等相關經驗。
Lambda架構從何而來?他是由Storm的作者Nathan Marz提出,針對個實時大數據處理的一個框架。Marz在Twitter工作期間開發了著名的實時大數據處理框架Storm,Lambda架構是其根據 多年進行分布式大數據系統的經驗總結提煉而成。當記者問及最初選擇Lambda架構的原由時,劉喆這樣回答:“其實不是我們選了Lambda,而是我們用 了這個架構之后,發現這個東西叫Lambda。”
在Lambda架構基礎上做開發
Lambda架構因為具備高容錯、低延時和可擴展等優勢,被很多數據公司選用。劉喆在采訪中說道,想要實時又快又準的任意在大數據集上進行查詢計算 等操作,可利用Lambda架構分解的三層架構來應對,這三層架構分別是Batch Layer,Speed Layer和Serving Layer。AdMaster并沒有改變Lambda架構這三層主體,只是在數據接入層方面做一些增強,保證數據的完整性,針對這部分AdMaster開 發自己的系統。數據處理方面,如用戶的數據是不可變就可做實時覆蓋,如用戶的業務不能接受,數據可變,那就不能做實時覆蓋。
Lambda架構運用于廣告、社交等業務
當問及Lambda架構都能支持哪些業務時,劉喆老師表示,對于廣告線可集中管理、執行、監控和追蹤網絡廣告活動,提供監測數據,用戶可以方便快速地獲取廣告的曝光、點擊、頻次、iGRP、廣告覆蓋人群等信息。社交方面,可品牌輿情和負面信息預警實時掌握。
Lambda架構的缺點及后期運維難點
劉喆表示,Lambda架構***缺點就是把一份代碼寫了兩次,如果下一次升級用戶業務,或者升級用戶算法時,就涉及到兩個算法的修改。在批量處理和 實時處理方面,修改是完全不一樣的。社區針對這個問題提出兩套方案Apahce beam和kappa,但尚未成熟,現在AdMaster還是以Lambda架構為主。針對這一缺點,AdMaster后期運維時從算法、架構、數據方 面,增加算法和模塊重用,這樣可以保障只需把架構相關部分重寫,算法和數據保持原貌,對于計算過的方面直接用,可以***限度的減少重復。
在采訪***,劉喆老師說道:“暫時看來,Lambda架構可以滿足AdMaster自身業務線需求,基本上會繼續沿用,直到某一天,社區真的出現了***融合方案,可能會考慮”。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】