“雙十一”流量大考過關 流計算功不可沒
發(fā)布日期: 2019-11-14 供稿:科技日報
編輯:吳楠 審核:王征 閱讀次數:原文標題:“雙十一”流量大考過關 流計算功不可沒
原文鏈接:http://digitalpaper.stdaily.com/http_www.kjrb.com/kjrb/html/2019-11/14/content_434701.htm?div=-1
如何扛住流量“洪峰”,是每年“雙十一”的技術大考,。隨著流量的飆升,,這一大考無疑變得越來越難。
“雙十一”剛過,,各大電商紛紛公布當日戰(zhàn)績,。從目前公布的數據不難看出,今年“雙十一”的訂單創(chuàng)建量峰值創(chuàng)下新高,,單日數據處理量紀錄也再次被刷新,。
“雙十一”的數據量不僅大,還會實時變化,??梢哉f,每個購物數據都是個性化的,、動態(tài)的,,完成處理它們的工作,需要有強大的計算能力作為支撐,。
“今年的數據處理工作,,除了批處理(對數據進行批量處理)外,還有流處理,,就是實時處理數據,。龐大的交易數據每分鐘、每秒鐘都在變,,它們并不是從數據庫里面統(tǒng)計出來的,,而是系統(tǒng)自動一層層把它們匯集上來的?!卑⒗锇桶图瘓F首席技術官張建鋒表示,。他口中的“流處理”就是流計算,即實時計算,。對于扛住“雙十一”流量“洪峰”,,它功不可沒,。
那么,什么是流計算,?它是如何抗住“雙十一”流量“洪峰”的,?對此,科技日報記者采訪了業(yè)內專家,。
以內存取代硬盤實現快速處理
北京理工大學計算機學院副院長,、教授劉馳在接受科技日報記者采訪時解釋道,流計算指當一條數據被處理完后,,立刻被序列化到內存中,,然后通過網絡傳輸到下一個節(jié)點,由下一個節(jié)點繼續(xù)處理,?!斑@種流式處理技術,是以內存取代硬盤的方式來實現數據快速處理,,這是流計算之所以能夠高效處理數據的根本原因,。”他表示,。
據劉馳介紹,,流計算具有高性能、海量式,、實時性,、分布式、易用性,、可靠性等多項優(yōu)勢,,主要的應用方向有,,對金融與科學計算中的數據進行快速運算和分析,;對存在于社交網站、電子郵件,、視頻,、電話記錄、電子感應器中的數字格式信息流進行快速處理并反饋等,。
“流式處理可被用于兩種不同的計算場景:事件流和持續(xù)計算,。”劉馳介紹道,,在事件流場景,,系統(tǒng)會持續(xù)產生大量的數據,這類數據最早出現在銀行和股票交易領域,,也會在互聯(lián)網監(jiān)控,、無線通信等領域出現,。這些領域的相關業(yè)務,需要流計算技術以近乎實時的方式對數據流進行復雜分析,。
“而在持續(xù)計算場景,,比如大型網站,流計算技術可以動態(tài)實時地刷新用戶訪問數據,,展示網站實時流量的變化情況,,分析每天各小時的流量和用戶分布情況。一些需要實時處理數據的場景也能應用到流計算技術,,比如對根據用戶行為產生的日志文件進行實時分析,,對用戶進行商品的實時推薦等?!眲ⅠY介紹道,。
實時采集、實時計算,、實時查詢
劉馳向記者介紹道,,流計算的處理流程一般包含三個階段:數據實時采集、數據實時計算和實時查詢服務,。
首先,,后臺工作人員會用實時數據集成工具,將數據實時傳輸到流式數據存儲系統(tǒng),。具體過程是,,系統(tǒng)將長時間累積的大量數據,平攤到每個計算時間節(jié)點,,數據會被不停地進行小批量實時傳輸,。此時,數據將會被源源不斷地寫入流數據存儲系統(tǒng),,不需要預先加載的過程,。同時,在此過程中,,數據是持續(xù)流動的,,在計算完成后就會被立刻丟棄。
然后,,不同于批量計算等待數據集成全部完成后才啟動計算作業(yè),,流式計算作業(yè)是一種常駐計算服務,一旦啟動將一直處于等待事件觸發(fā)的狀態(tài),,即一有小批量數據進入流式數據存儲系統(tǒng),,流計算系統(tǒng)就會立刻計算并得出結果?!巴瑫r,,部分電商平臺的流計算團隊,,還使用了增量計算模型,將大批量數據分批進行增量計算,,進一步減少單次運算規(guī)模并有效降低整體運算時延,。”劉馳說,。
最后,,采用數據批處理方式,通常需要等待數據計算結果得出后,,才能批量將數據傳輸到在線系統(tǒng),。而流式處理方式可在每次小批量數據計算工作完成后,就立刻將計算結果寫入在線系統(tǒng),?!斑@樣無需等待全部數據計算工作完成,我們就可在流計算數據查詢系統(tǒng)中,,查詢到在線系統(tǒng)的數據處理結果,。技術人員也可將實時結果發(fā)送給可視化系統(tǒng),以實現計算結果的實時化展示,?!眲ⅠY說。
技術雖強大但仍存在短板
不過,,劉馳表示,,流計算雖然強大,也存在技術短板,。
“如果在系統(tǒng)內存不足的情況下,,還要滿足多個用戶的數據請求,那么每個用戶實際被分到的內存就會很少,。此時,,應用流式處理技術后,由于內存需求量增加,,系統(tǒng)會把原來分給多個用戶的內存資源,,全部分給一個用戶,。其他需要內存的用戶,,則會因為沒有內存可用,被迫進入等待狀態(tài),,直到那個占有內存資源用戶退出后,,其他用戶才能使用內存?!眲ⅠY說,,同時,,實時的計算環(huán)境會由于各種各樣的原因,比如網絡延時等,,導致程序到達計算節(jié)點的順序出現變化,。
“此外,流計算技術面對的是源源不斷涌入的數據,,而如果還像批處理那樣來計算數據的話,,就可能會導致計算根本無法結束,或隨著時間的推移需要保存的數據越來越多,,給內存造成巨大壓力,。”劉馳補充道,,“數據不斷產生,,就需要計算持續(xù)進行。但計算時間一長,,出問題的概率就會大大增加,。一旦出現問題,一些在計算過程中緩存下來的數據該被怎么長期保存,、怎么恢復就會成為比較大的問題,。”
分享到: