當前位置:
首頁 > 科技 > 阿里巴巴:為什麼我們選擇了Blink

阿里巴巴:為什麼我們選擇了Blink

Blink,下一代的流計算平台

對於喜歡剁手的妹子來說,每年的雙十一都堪比狂歡節,特別是剁完手,對著雙十一晚會的 GMV 大屏,看著不斷上漲的成交額,心裡美滋滋:我也是參與過上千億的項目的人了。然而,如果她的男朋友恰好是程序猿的話,他眼中看到則是非常典型的實時計算,每條交易數據經過聚合展現在屏幕上。從 DataBase 寫入一條數據開始,到數據實時處理寫入 HBase,最後展現在大屏之上。

自古典互聯網以來,人類就沒有停下對數據處理追逐的腳步,並且隨著數據量的幾何倍數的增加,處理數據的方式以及平台不斷的更新迭代,其中以批處理為代表的自然非 Hadoop 家族莫屬。後來隨著技術的迭代,實時計算變得流行起來,又出現了以 Storm,Flink 為代表的流處理框架。

作為 Apache 軟體基金會下的頂級項目,Flink 有這許多的有點,比如,Flink 很好地引入和設計了 State,基於 State 複雜的邏輯計算如 join 能得到很好的描述。再者,Flink 引入了 Chandy-Lamport 演算法,在此演算法的支撐下可以完美實現 Exactly-Once,並能在低延遲下實現高吞吐量。

這就引出了一個問題,為什麼阿里不直接使用 Flink 框架,而是投入大量的人力去改進,研發出 Blink 框架?

阿里為什麼選擇 Blink

原來,雖然 Flink 在理論模型和架構方面有很多創新,但在 State、Chandy-Lamport 演算法等方面還有很多缺陷,特別在工程實現上還有不少問題。尤其是在大規模使用上,要知道,阿里的業務場景及其複雜,很多問題在一般的公司、一般的場景是很難接觸到的。

為此,相較於 Flink,Blink 主要解決了大規模部署的問題,這在工程中極為重要,Flink 中一個 Cluster 只有一個 JobMaster 來管理所有的 Job。隨著 Job 的不斷增加,單一的 Master 無法承接更多的 Job,產生了瓶頸。因此,Blink 重構了架構,使每一個 Job 擁有自己的 Master。

除此之外,Blink 的優點還有以下幾點

Flink 架構升級,插件化原生支持不同調度系統,並實現了原生運行在 Hadoop YARN 上

Failover 穩定性改進,優化了 Task/TaskManager 以及 JobManager 各種組件 Fail 的場景處理

提出並實現了增量式 Checkpoint 的架構,使得 Flink 的 Checkpoint/Recovery 速度大幅提升,成本明顯下降

提出並實現了 Async Operator,通過非同步方式,讓 I/O 密集型計算節點的性能大幅提升

提出了大量 Table API 的全新設計,以及流和批在 SQL 層面的統一概念和方案

目前 Blink 已經在阿里巴巴內部達成共識,成為阿里巴巴統一的實時計算引擎,從以往的技術發展規律來看,一項技術是否能有長遠的發展,處理技術本身外,還要看在其背後是否有社區以及大企業的支持,可以說這幾方面 Blink 已經具備。

走近 Blink 流計算平台

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

一篇文看懂加密貨幣的本質
從Netflix的混世猴子談一線架構師的漫長技術棧規劃

TAG:InfoQ |