我們需要什么樣的數據計算框架
關注過我的讀者可能會記得我之前發表過一篇文章介紹過現代數據棧
現代數據棧
基于其中的思考,我嘗試去寫了個現代數據棧中比較重要的一個組件:流計算引擎。因此,我很高興在這里給大家介紹 Lightflus ——這款新的云原生分布式流計算框架。'flus' 取自德語,在英文中為 'flow',流的意思。Lightflus 如其名,是一款輕量的流數據計算引擎;
Lightflus 誕生的原因是為了解決目前的主流計算框架 Spark 和 Flink 存在的問題:
門檻高:Spark 和 Flink 的上手門檻比較高,需要招聘有相關經驗和技術能力的人來開發;
成本高:企業要投入較多資源和人力來搭建一個數據系統,且需要很專業的基礎架構團隊協助,但 Data 卻往往不是企業的主營業務;
非云原生:在目前基礎設施上云的大趨勢下,Spark 和 Flink 雖然也在往云原生的方向發展,但由于歷史遺留問題,進展比較緩慢;
這些問題進一步導致了:
重復建設,浪費資源,各家都要自己做一套基礎架構來滿足內部的數據需求;
中小企業或沒有 IT 背景的傳統企業的數據需求難以滿足,數字化轉型風險加劇,舉步維艱;
于是我決定做一款新的計算框架來解決以上這些問題,Lightflus 由此誕生了。
Lightflus 的設計理念
Lightflus 是為絕大多數開發者設計的,其目的不是為了平替 Spark 和 Flink,而是讓一個從未接觸過流數據計算框架的開發團隊也能快速上手并部署流數據任務到生產。需要強調的是,Lightflus 不是一款為了超越 Flink 性能 N 倍而設計的流計算引擎,它的目標是為了讓小團隊和大型企業都能低成本地去開發流數據的價值。
讓 Developer 而非專門的數據開發工程師去做這件事,好處有四:
developer 更清楚業務流程,自然也更清楚數據是怎么流動和變化的;
因為 developer 更清楚數據源的背景知識,他們能快速寫出可以直接產生經濟價值的代碼;
developer 比起數據開發,更加深入了解目前的 infra,與 OPS 的長期合作也能讓團隊協作更順暢;
對于開發團隊的管理者,能將 DevOps 引入,形成 DataOps,提升研發管理效率,降低發布風險;
基于這些好處帶來的優勢,Lightflus 從草創起就專注于讓普通開發者也能像寫 stream 代碼一樣寫流數據任務。
Lightflus 的技術架構
Lightflus 提供 TypscriptAPI,為了能讓Typescript 編寫的 UDF 高效運行,Lightflus 將 v8 引擎嵌入 Rust 實現的核心,通過 embedded v8 engine 來運行編譯后的 JavaScript 函數。在未來,我們還將支持 WebAssembly 來加強性能;
Architecture
Lightflus 沿用主流的 Coordinator-Worker 的分布式計算架構,以滿足未來對可用性、高擴展性、容錯等的需求
k8s 和 Docker 支持
Lightflus 將于 release 版本支持 k8s 部署(意味著可以上生產的級別),demo 版本和 preview 階段只提供 Docker 的支持;
對主流 cloud 的支持
在 release 1.x 以及之前的階段,Lightflus 計劃只公開支持 AWS,但是 Lightflus 本身是云中立的,理論上任何云都能很好運行 Lightflus。
編輯:黃飛
-
架構
+關注
關注
1文章
514瀏覽量
25482 -
數據計算
+關注
關注
0文章
14瀏覽量
8006
原文標題:Lightflus: 云原生流處理框架
文章出處:【微信號:Rust語言中文社區,微信公眾號:Rust語言中文社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論