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