(資料圖片)
當(dāng)一家公司的日均處理的數(shù)據(jù)流量在PB級(jí)別時(shí),巨大的任務(wù)量和數(shù)據(jù)量會(huì)對(duì)消息隊(duì)列(MQ)dump的穩(wěn)定性和準(zhǔn)確性帶來極大的挑戰(zhàn)。
針對(duì)這一問題,火山引擎數(shù)智平臺(tái)推出的大數(shù)據(jù)研發(fā)治理套件DataLeap,可以為企業(yè)提供完整解決方案,幫助解決MQ dump在極端場(chǎng)景中遇到的數(shù)據(jù)丟失問題。
例如,當(dāng)HDFS(一種分布式文件系統(tǒng))集群某個(gè)元數(shù)據(jù)節(jié)點(diǎn)由于硬件故障而宕機(jī)。那么在該元數(shù)據(jù)節(jié)點(diǎn)終止半小時(shí)后,運(yùn)維工程師雖然可以通過手動(dòng)運(yùn)維操作將 HDFS 切到主 backup 節(jié)點(diǎn),使得HDFS 恢復(fù)服務(wù)。但故障恢復(fù)后, MQ dump 在故障期間可能有數(shù)據(jù)丟失,產(chǎn)出的數(shù)據(jù)與 MQ 中的數(shù)據(jù)不一致的情況。
此時(shí),技術(shù)人員可以在收到數(shù)據(jù)不一致的反饋后,立即借助火山引擎DataLeap進(jìn)行故障排查。目前,火山引擎DataLeap基于開源Flink,已經(jīng)實(shí)現(xiàn)了流批一體的數(shù)據(jù)集成服務(wù)。通過Flink Checkpoint的功能,F(xiàn)link 在數(shù)據(jù)流中注入 barriers 將數(shù)據(jù)拆分為一段一段的數(shù)據(jù),在不終止數(shù)據(jù)流處理的前提下,讓每個(gè)節(jié)點(diǎn)可以獨(dú)立創(chuàng)建 Checkpoint 保存自己的快照。
圖:使用文件State 前后處理流程對(duì)比
溯源后,用戶可以通過火山引擎DataLeap選擇使用文件State(當(dāng)前的 Checkpoint id 和 task id)解決該問題。據(jù)悉,使用文件 State 后,企業(yè)在 Notify 階段與 HDFS 交互的 metrics(打點(diǎn)監(jiān)控系統(tǒng))的平均處理時(shí)間減少了一半。
目前,企業(yè)可以通過火山引擎DataLeap體驗(yàn)到上述Flink Checkpoint實(shí)踐與優(yōu)化方案,提升數(shù)據(jù)價(jià)值交付中的效率和質(zhì)量。(作者:韓江)