< 返回版块

Lady-Summer 发表于 2022-11-15 19:59

Tags:distributed computing,typescript,dataflow,streaming system

我们需要什么样的数据计算框架

Hi all, 很高兴给大家介绍 Lightflus 这款新的云原生分布式计算框架。'flus' 取自德语,在英文中为 'flow',流的意思。Lightflus 如其名,是一款轻量的流数据计算引擎;

Lightflus 诞生的原因是为了解决目前的主流计算框架 Spark 和 Flink 存在的问题:

  • 门槛高:Spark 和 Flink 的上手门槛比较高,需要招聘有相关经验和技术能力的人来开发;

  • 成本高:企业要投入较多资源和人力来搭建一个数据系统,且需要很专业的基础架构团队协助,但 Data 却往往不是企业的主营业务;

  • 非云原生:在目前基础设施上云的大趋势下,Spark 和 Flink 虽然也在往云原生的方向发展,但由于历史遗留问题,进展比较缓慢;

这些问题进一步导致了:

  • 重复建设,浪费资源,各家都要自己做一套基础架构来满足内部的数据需求;

  • 中小企业或没有 IT 背景的传统企业的数据需求难以满足,数字化转型风险加剧,举步维艰;

因此我们决定做一款新的框架来解决以上这些问题;

Lightflus 的设计理念

Lightflus 是为绝大多数开发者设计的,其目的不是为了平替 Spark 和 Flink,而是让一个从未接触过流数据计算框架的开发团队也能快速上手并部署流数据任务到生产。

让 Developer 而非数据开发工程师去做这件事,好处有四

  1. Developer 更清楚业务流程,自然也更清楚数据是怎么流动和变化的;

  2. 因为 developer 更清楚数据源的背景知识,他们能快速写出可以直接产生经济价值的数据任务;

  3. developer 比起数据开发,更加深入了解目前的 infra,与 OPS 的长期合作也能让团队协作更顺畅;

  4. 对于开发团队的管理者,能将 DevOps 引入,形成 DataOps,提升研发管理效率,降低发布风险;

基于这些好处带来的优势,Lightflus 从草创起就专注于让普通开发者也能像写 stream 代码一样写流数据任务

Lightflus 的技术框架

Typescript API + Rust Runtime

Lightflus 提供 Typescript API,为了能让 Typescript 编写的 UDF 高效运行,Lightflus 将 v8 engine 嵌入 Rust 实现的核心,通过 embedded v8 engine 来运行 Typescript 编译后的 JavaScript 函数。在未来,我们还将支持 WebAssembly 来加强性能;

架构

Lightflus 是主流的 Coordinator-Worker 的分布式计算架构,以满足未来对可用性、高扩展性、容错等的需求

k8s 和 Docker 支持

Lightflus 将于 release 版本支持 k8s 部署(意味着可以上生产的级别),demo 版本和 preview 阶段只提供 Docker 的支持;

对主流 cloud 的支持

在 release v1.x 阶段,Lightflus 计划只公开支持 AWS,但是 Lightflus 本身是云中立的,理论上任何云都能很好运行 Lightflus;

目前的进展

Lightflus 目前处于 preview 阶段,预计明年年初发布 demo 版本,欢迎大家来 Github 和 Gitter 上交流~


Ext Link: https://github.com/JasonThon/lightflus

评论区

写评论

还没有评论

1 共 0 条评论, 1 页