阿里開源實(shí)時(shí)計(jì)算平臺Blink,能讓計(jì)算延遲降至毫秒級|技術(shù)詳解(阿里實(shí)時(shí)計(jì)算開發(fā)平臺)
雷剛 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號 QbitAI
阿里巴巴這份開源禮物,業(yè)內(nèi)期待已久。
近期,中國科技互聯(lián)網(wǎng)巨頭正式宣布將實(shí)時(shí)計(jì)算平臺Blink開源,該技術(shù)由開源的Flink改造而來,被廣泛應(yīng)用在阿里眾多核心業(yè)務(wù)中。
比如淘寶天貓智能推薦系統(tǒng)、阿里媽媽廣告、高德地圖、城市大腦等,均有實(shí)時(shí)計(jì)算平臺Blink的支持。
這一技術(shù)甚至被認(rèn)為是引領(lǐng)“下一代計(jì)算”的 “計(jì)算王牌”。
之前阿里透露開源意向時(shí),就已經(jīng)在開源和開發(fā)者群體中引發(fā)期待。
實(shí)時(shí)計(jì)算
所謂實(shí)時(shí)計(jì)算,通俗來講,即能夠基于實(shí)時(shí)變化數(shù)據(jù)更新大數(shù)據(jù)處理的狀態(tài)和結(jié)果。
最典型的如天貓雙11搶購中,即便在萬千人同時(shí)涌入的第一分鐘,也能保證每個(gè)人點(diǎn)開App瞬間實(shí)現(xiàn)千人千面的智能推薦。
這背后正是阿里云實(shí)時(shí)計(jì)算平臺Blink保駕護(hù)航的結(jié)果。
此外,對于眾多AI項(xiàng)目來說,實(shí)時(shí)計(jì)算也關(guān)系到實(shí)時(shí)機(jī)器學(xué)習(xí)和實(shí)時(shí)測試的效果。
在阿里此前的探索中,歸納總結(jié)出三方面挑戰(zhàn):
- 業(yè)務(wù)龐大,場景多,大量的機(jī)器學(xué)習(xí)需求,這些因素一起導(dǎo)致了計(jì)算邏輯十分復(fù)雜;
- 數(shù)據(jù)量大,作業(yè)多,因此整個(gè)實(shí)時(shí)計(jì)算的機(jī)器規(guī)模十分巨大;
- 要保障低延遲和數(shù)據(jù)精確性,同時(shí)要滿足高吞吐量的需求。
Blink方案
為了應(yīng)對上述挑戰(zhàn),阿里內(nèi)部在調(diào)研諸多計(jì)算框架后,最終選定了Flink。
首先,F(xiàn)link很好地引入和設(shè)計(jì)了State,基于State復(fù)雜的邏輯計(jì)算如join能得到很好的描述。
其次,F(xiàn)link引入了Chandy-Lamport 算法,在此算法的支撐下可以完美實(shí)現(xiàn)Exactly-Once,并能在低延遲下實(shí)現(xiàn)高吞吐量。
值得一提的是,為了解決Flink在State、Chandy-Lamport 算法等方面的缺陷,阿里進(jìn)一步結(jié)合Improvement,打造了Blink項(xiàng)目。
該項(xiàng)目可以分為2大板塊:
1、BlinkRuntime
包括存儲、調(diào)度和計(jì)算,不同公司在使用Flink時(shí),存儲、調(diào)度以及底層優(yōu)化等方面會(huì)有諸多不同,阿里巴巴的blink內(nèi)部也對Runtime做了諸多個(gè)性化的優(yōu)化。
2、Flink SQL
原生的Flink只有比較底層的DataStream API,用戶在使用時(shí)需要設(shè)計(jì)實(shí)現(xiàn)大量的代碼,此外DataStream本身也有設(shè)計(jì)上的缺陷。
為了方便用戶使用,阿里巴巴團(tuán)隊(duì)設(shè)計(jì)了流計(jì)算的Flink SQL并推回了社區(qū),取名Flink SQL。
此外,作為開源版Blink,跟社區(qū)版本還有幾點(diǎn)差異:
第一是穩(wěn)定性方面,在某些場景會(huì)比社區(qū)版本更加穩(wěn)定,特別是在大規(guī)模場景;
另外Blink擁有全新的 Flink SQL 技術(shù)棧,它在功能上,特別是在批處理的功能上比社區(qū)版本強(qiáng)大很多。
它支持現(xiàn)在標(biāo)準(zhǔn) SQL 幾乎所有的語法和語義,在性能上,無論是在流式 SQL 還是批 SQL,當(dāng)前版本在性能上都有很大的優(yōu)勢。
特別是在批 SQL 的性能方面,當(dāng)前 Blink 版本是社區(qū)版本性能的 10 倍以上,跟 Spark 相比,在 TPCDS 這樣的場景 Blink 的性能也能達(dá)到 3 倍以上。
阿里方面強(qiáng)調(diào),如果用戶對批處理或者對 SQL 有著比較強(qiáng)的需求,這個(gè)版本會(huì)用戶可以得到很多好處。
(更多詳細(xì)技術(shù)解析詳見傳送門)
實(shí)戰(zhàn)效果
阿里方面還介紹說,現(xiàn)在,阿里集團(tuán)的全部核心業(yè)務(wù)已經(jīng)用上Blink。
除了技術(shù)大考雙11之外,ET城市大腦實(shí)時(shí)計(jì)算著杭州1300個(gè)信號燈路口、4500路視頻,保障著交通動(dòng)脈的通暢;淘寶、天貓每天為數(shù)億用戶展現(xiàn)實(shí)時(shí)的“專屬”頁面。
未來,這項(xiàng)技術(shù)還會(huì)被應(yīng)用到社會(huì)的各個(gè)場景:工廠設(shè)備的物聯(lián)網(wǎng)設(shè)備能實(shí)時(shí)分析數(shù)據(jù)、提高生產(chǎn)良品率;物流派送平臺能第一時(shí)間下單,把商品及時(shí)送到消費(fèi)者手中;導(dǎo)航軟件時(shí)刻緊隨出行軌跡,不再錯(cuò)過轉(zhuǎn)彎口……
而面向業(yè)界開源,更是能將更前沿的計(jì)算技術(shù)讓更多開發(fā)者受益其中。
傳送門
Blink on GitHub:
https://github.com/apache/flink/tree/blink
技術(shù)詳解:
一文揭秘阿里實(shí)時(shí)計(jì)算Blink核心技術(shù)
— 完 —
誠摯招聘
量子位正在招募編輯/記者,工作地點(diǎn)在北京中關(guān)村。期待有才氣、有熱情的同學(xué)加入我們!相關(guān)細(xì)節(jié),請?jiān)诹孔游还娞?QbitAI)對話界面,回復(fù)“招聘”兩個(gè)字。
量子位 QbitAI · 頭條號簽約作者
?’?’ ? 追蹤AI技術(shù)和產(chǎn)品新動(dòng)態(tài)