相比Spark等傳統模式,Flink 和 K8S是怎樣的結合

Apache Flink 是近年來越來越流行的一款開源大數據計算引擎,它同時支持了批處理和流處理。大數據起源自批處理,Spark最初的定位就是改進Hadoop, 更快速的進行批處理。而Storm擅長的則是進行無狀態的流計算(在無狀態的流計算領域, 它的延遲是最小的), 進而出現的Flink則是Storm的下一代解決方案。它既可以處理stream data也可以處理batch data,可以同時兼顧Spark以及Spark streaming的功能。Flink在運行中主要有三個組件組成,JobClient,JobManager 和 TaskManager。

實時計算產品通常提供兩種模式,共享型與獨享型。在這樣的模式下,用戶不需要關心整個集羣的運維。開發時,使用Blink SQL,用開箱即用的metric收集和展示。同時,作業的監控和異常時報警,也能得到保證。

新模式Flink on K8S,在功能、引擎和託管模式上,都有變化。

功能上,基於Flink的特性,它的常駐進程,類似於在線業務的App,作業發佈後,修改頻率比較低。用戶在開發控制檯提交併控製作業,可使用多樣的可插拔的增值功能。

在引擎上,基於開源Flink版本,有了以下改造。提供增量Checkpoint。SQL優化器和執行器的改造更近完善,提供Unified SQL。在Runtime上,提供了一套統一且高效的算子框架,有更加靈活的chaining策略和自定義調度插件。

託管模式採用半托管的方式,集羣部署在ECS和K8S上,靈活性也更強。

Flink on K8S,充分利用K8S的優勢。K8S 可以很好地集成其他集羣維護工具,如監控工具普羅米修斯,同時在資源彈性方面,K8S 可以很方便地進行擴縮容。它的設計初衷,就是爲在線應用服務的,設計目標是幫助在線應用更好的發佈及管理,同時,很好的實現資源的隔離。更重要的是,發展至今,K8S有了一定的生態優勢,也來越多的用戶使用,也讓這個工具越來越好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章