在信息爆炸的時(shí)代,騰訊看點(diǎn)作為重要的內(nèi)容分發(fā)平臺(tái),面臨著海量用戶行為數(shù)據(jù)的實(shí)時(shí)處理與分析挑戰(zhàn)。其背后支撐的多維實(shí)時(shí)分析系統(tǒng),憑借先進(jìn)的數(shù)據(jù)處理與存儲(chǔ)架構(gòu),實(shí)現(xiàn)了對(duì)億級(jí)用戶行為的毫秒級(jí)洞察,為個(gè)性化推薦、運(yùn)營決策和產(chǎn)品優(yōu)化提供了堅(jiān)實(shí)的數(shù)據(jù)基礎(chǔ)。
一、系統(tǒng)架構(gòu)概覽:分層設(shè)計(jì)與流批一體
騰訊看點(diǎn)多維實(shí)時(shí)分析系統(tǒng)采用分層、模塊化的設(shè)計(jì)理念,整體架構(gòu)可分為數(shù)據(jù)采集層、實(shí)時(shí)處理層、存儲(chǔ)服務(wù)層和應(yīng)用服務(wù)層。
- 數(shù)據(jù)采集層:作為數(shù)據(jù)入口,通過輕量級(jí)SDK和日志采集Agent,以高吞吐、低延遲的方式,從客戶端、服務(wù)器端全鏈路收集用戶點(diǎn)擊、瀏覽、停留、分享等行為事件,并進(jìn)行初步的過濾與格式化。
- 實(shí)時(shí)處理層(核心引擎):這是系統(tǒng)的“大腦”。基于Apache Flink構(gòu)建的流式計(jì)算引擎是核心,它負(fù)責(zé)對(duì)源源不斷的數(shù)據(jù)流進(jìn)行實(shí)時(shí)清洗、關(guān)聯(lián)、聚合與復(fù)雜事件處理。系統(tǒng)實(shí)現(xiàn)了“流批一體”的設(shè)計(jì),同一套計(jì)算邏輯可同時(shí)支持實(shí)時(shí)流處理和離線批量補(bǔ)算,保障了數(shù)據(jù)口徑的一致性與計(jì)算的靈活性。
- 存儲(chǔ)服務(wù)層(基石支撐):針對(duì)不同分析場(chǎng)景對(duì)數(shù)據(jù)新鮮度、查詢效率、存儲(chǔ)成本的差異化要求,系統(tǒng)構(gòu)建了混合存儲(chǔ)體系:
- 實(shí)時(shí)聚合結(jié)果存儲(chǔ):使用高性能的KV存儲(chǔ)(如Redis/自研系統(tǒng))和時(shí)序數(shù)據(jù)庫,存放秒級(jí)/分鐘級(jí)的最新聚合指標(biāo),供實(shí)時(shí)監(jiān)控和大屏展示。
- 明細(xì)數(shù)據(jù)查詢存儲(chǔ):采用列式存儲(chǔ)數(shù)據(jù)庫(如ClickHouse或Apache Druid),支持對(duì)近期明細(xì)數(shù)據(jù)的快速多維篩選與即席查詢(Ad-hoc Query)。
- 長期冷數(shù)據(jù)存儲(chǔ):依托騰訊云對(duì)象存儲(chǔ)(COS)或HDFS,以極低的成本存儲(chǔ)全量歷史明細(xì)數(shù)據(jù),供深度回溯分析與模型訓(xùn)練。
- 應(yīng)用服務(wù)層:提供統(tǒng)一的查詢網(wǎng)關(guān)和API服務(wù),將底層復(fù)雜的存儲(chǔ)封裝成簡單的接口,向推薦系統(tǒng)、運(yùn)營平臺(tái)、數(shù)據(jù)分析師等輸出實(shí)時(shí)畫像、趨勢(shì)報(bào)表和自定義分析結(jié)果。
二、數(shù)據(jù)處理的核心:高吞吐、低延遲與精準(zhǔn)一致
面對(duì)每日千億級(jí)的事件洪流,系統(tǒng)的數(shù)據(jù)處理能力經(jīng)受著嚴(yán)峻考驗(yàn)。
- 高性能流處理:利用Flink的狀態(tài)管理和精確一次(Exactly-Once)語義保障,即使在發(fā)生故障時(shí)也能確保計(jì)數(shù)、求和等聚合結(jié)果的準(zhǔn)確性。通過窗口優(yōu)化、旁路輸出(Side Output)等技術(shù),靈活支撐從秒級(jí)到天級(jí)的多種時(shí)間維度的聚合計(jì)算。
- 維度管理:建有統(tǒng)一的維度服務(wù)中心,管理用戶、內(nèi)容、渠道等所有維度信息。在流處理過程中實(shí)時(shí)進(jìn)行維度關(guān)聯(lián)(如將設(shè)備ID關(guān)聯(lián)到用戶ID),確保分析視角的完整性和準(zhǔn)確性。
- 數(shù)據(jù)質(zhì)量保障:在管道中設(shè)立多個(gè)質(zhì)量監(jiān)測(cè)點(diǎn),對(duì)數(shù)據(jù)格式、完整性、合理性進(jìn)行實(shí)時(shí)校驗(yàn)與告警,并具備死信隊(duì)列(Dead Letter Queue)機(jī)制處理異常數(shù)據(jù),保證進(jìn)入下游的數(shù)據(jù)干凈可靠。
三、存儲(chǔ)服務(wù)的智慧:多模混合與智能調(diào)度
存儲(chǔ)層并非簡單堆砌,而是通過智能的數(shù)據(jù)生命周期管理與路由策略,實(shí)現(xiàn)成本與性能的最優(yōu)平衡。
- 分層存儲(chǔ)與自動(dòng)降冷:數(shù)據(jù)根據(jù)其時(shí)間價(jià)值和訪問頻率自動(dòng)流動(dòng)。例如,秒級(jí)聚合結(jié)果存于內(nèi)存,過去一小時(shí)的明細(xì)存于ClickHouse,一天前的明細(xì)則自動(dòng)轉(zhuǎn)存至對(duì)象存儲(chǔ)。這套策略由系統(tǒng)自動(dòng)調(diào)度,對(duì)上層應(yīng)用透明。
- 統(tǒng)一查詢服務(wù):開發(fā)了統(tǒng)一的查詢引擎,能夠理解查詢語句的時(shí)間范圍、維度組合和聚合程度,自動(dòng)判斷應(yīng)從哪個(gè)存儲(chǔ)層(熱存儲(chǔ)或冷存儲(chǔ))獲取數(shù)據(jù),甚至進(jìn)行跨層數(shù)據(jù)合并,對(duì)用戶提供“一個(gè)入口,全量數(shù)據(jù)”的查詢體驗(yàn)。
- 高可用與擴(kuò)展性:存儲(chǔ)層各個(gè)組件均采用分布式集群部署,具備水平擴(kuò)展能力,可隨數(shù)據(jù)量增長彈性擴(kuò)容。通過多副本機(jī)制和跨可用區(qū)部署,保障服務(wù)的高可用性和數(shù)據(jù)持久性。
四、與展望
騰訊看點(diǎn)多維實(shí)時(shí)分析系統(tǒng)的成功,關(guān)鍵在于其以流處理為核心、混合存儲(chǔ)為基石、統(tǒng)一服務(wù)為接口的協(xié)同架構(gòu)。它不僅在技術(shù)上實(shí)現(xiàn)了海量數(shù)據(jù)的實(shí)時(shí)化、精準(zhǔn)化分析,更在業(yè)務(wù)上驅(qū)動(dòng)了產(chǎn)品體驗(yàn)的快速迭代和運(yùn)營效率的極大提升。
隨著數(shù)據(jù)規(guī)模持續(xù)膨脹和分析場(chǎng)景日益復(fù)雜,系統(tǒng)將繼續(xù)在存算分離、AI增強(qiáng)的實(shí)時(shí)分析(如實(shí)時(shí)異常檢測(cè)、預(yù)測(cè))以及更智能的成本優(yōu)化等方面進(jìn)行深度探索,以構(gòu)建更敏捷、更經(jīng)濟(jì)、更智能的新一代實(shí)時(shí)數(shù)據(jù)基礎(chǔ)設(shè)施,持續(xù)賦能業(yè)務(wù)增長。