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