English | 中文
Make stream processing easier
一个神奇的框架,让流处理更简单
实时即未来, 在实时处理流域 Apache Spark
和 Apache Flink
是一个伟大的进步,尤其是 Apache Flink
被普遍认为是下一代大数据流计算引擎, 我们在使用 Flink
& Spark
时发现从编程模型, 参数配置到项目部署, 运维管理都有很多可以抽象共用的地方,
我们将一些好的经验固化下来并结合业内的最佳实践, 通过不断努力终于诞生了今天的框架 —— StreamX
, 项目的初衷是 —— 让流处理更简单, 使用 StreamX
开发, 可以极大降低学习成本和开发门槛, 让开发者只用关心最核心的业务, StreamX
规范了项目的配置,
鼓励函数式编程, 定义了最佳的编程方式, 提供了一系列开箱即用的 Connectors
, 标准化了配置、开发、测试、部署、监控、运维的整个过程, 提供了 Scala/Java 两套 api, 其最终目的是打造一个一站式大数据平台, 流批一体,湖仓一体的解决方案
- 开发脚手架
- 一系列开箱即用的connectors
- 支持项目编译功能(maven 编译)
- 在线参数配置
- 多版本flink支持(1.12.x,1.13.x,1.14.x)
- Scala 2.11 / 2.12 支持
- restapi 支持
- 快捷的日常操作(任务
启动
、停止
、savepoint
,从savepoint
恢复) - Flink所有部署模式的支持(
Remote
/K8s-Native-Application
/K8s-Native-Session
/YARN-Application
/YARN-Per-Job
/YARN-Session
) - 快捷的日常操作(任务
启动
、停止
、savepoint
,从savepoint
恢复) - 稳定可靠,诸多公司和组织将
StreamX
用于生产和商业产品中 - 支持火焰图
- 支持
notebook
(在线任务开发) - 项目配置和依赖版本化管理
- 支持任务备份、回滚(配置回滚)
- 在线管理依赖(maven pom)和自定义jar
- 自定义 udf、连接器等支持
- Flink SQL WebIDE
- 支持 Catalog、Hive
- 从任务
开发
阶段到部署管理
全链路支持 - ...
Streamx
由三部分组成,分别是 streamx-core
,streamx-pump
和 streamx-console
streamx-core
定位是一个开发时框架,关注编码开发,规范了配置文件,按照约定优于配置的方式进行开发,提供了一个开发时 RunTime Content
和一系列开箱即用的 Connector
,扩展了 DataStream
相关的方法,融合了DataStream
和 Flink sql
api,简化繁琐的操作,聚焦业务本身,提高开发效率和开发体验
pump
是抽水机,水泵的意思,streamx-pump
的定位是一个数据抽取的组件,类似于 flinkx
,基于streamx-core
中提供的各种 connector
开发,目的是打造一个方便快捷,开箱即用的大数据实时数据抽取和迁移组件,并且集成到 streamx-console
中,解决实时数据源获取问题,目前在规划中
streamx-console
是一个综合实时数据平台,低代码(Low Code
)平台,可以较好的管理Flink
任务,集成了项目编译、发布、参数配置、启动、savepoint
,火焰图(flame graph
)
,Flink SQL
, 监控等诸多功能于一体,大大简化了 Flink
任务的日常操作和维护,融合了诸多最佳实践。旧时王谢堂前燕,飞入寻常百姓家,让大公司有能力研发使用的项目,现在人人可以使用,
其最终目标是打造成一个实时数仓,流批一体的一站式大数据解决方案,该平台使用但不仅限以下技术:
- Apache Flink
- Apache YARN
- Spring Boot
- Mybatis
- Mybatis-Plus
- Flame Graph
- JVM-Profiler
- Vue
- VuePress
- Ant Design of Vue
- ANTD PRO VUE
- xterm.js
- Monaco Editor
- ...
感谢以上优秀的开源项目和很多未提到的优秀开源项目,致以最崇高的敬意,感谢 Apache Flink 创造了一个了不起的项目! 感谢 Apache Zeppelin 早期给予的灵感,感谢我老婆在项目开发时给予的支持,悉心照顾我的生活和日常,给予我足够的时间开发这个项目!
请查看官网文档了解更多信息
诸多公司和组织将 StreamX 用于研究、生产和商业产品中, 如果您也在使用 ? 可以在这里添加
我们获得了一些珍贵的荣誉, 这份荣誉属于参加建设 StreamX 的每一位朋友, 谢谢大家!
如果你希望参与贡献 欢迎 Pull Request,或给我们 报告 Bug。
强烈推荐阅读 《提问的智慧》(本指南不提供此项目的实际支持服务!)、《如何有效地报告 Bug》、《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。
感谢所有向 StreamX 贡献的朋友!
Are you enjoying this project ? 👋
StreamX 采用 Apache LICENSE 2.0 许可的开源项目,使用完全免费, 旧时王谢堂前燕,飞入寻常百姓家,让大公司有能力研发使用的项目,现在人人都可以使用,流批一体,湖仓一体,数据湖是大数据领域的趋势, StreamX现在离这个目标还有一段距离,还需持续投入,相应的资金支持能更好的持续项目的维护和开发。你可以通过下列的方法来赞助 StreamX 的开发, 欢迎捐助,一起来帮我们做的更好! ☀️ 👊
微信支付 | 支付宝 |
---|---|
所有赞助人将在赞助人名单中显示。
虚席以待,欢迎个人和企业前来赞助,您的支持会帮助我们更好的发展项目
感谢 JetBrains 提供的免费开源 License 赞助
Streamx
已正式开源,现已经进入高速发展模式,如果您觉得还不错请在右上角点一下 star
,帮忙转发,谢谢 🙏🙏🙏 大家的支持是开源最大动力,
你可以扫下面的二维码加入官方微信群,更多相关信息请访问官网