StreamPark 加入 Apache 孵化器以来已经发布了两个版本,带来了诸多的新功能和改进升级。目前 GitHub Star 共计 3.3 k,累计贡献者已达 100 余位,社区正在健康发展中,逐步走向成熟和自治,这一切的快速发展,都离不开背后默默付出的贡献者们,感谢所有参与的贡献者们,也欢迎更多的小伙伴们参与到社区共建。
很高兴向大家宣布,社区又迎来了一位新晋 committer 和首位提名的 PPMC member,恭喜二位,下面让我们一睹两位的风采。
非常荣幸被提名为 Apache StreamPark 的 Committer,感谢社区的认可,感谢参与过程中来自社区小伙伴的帮助。祝愿 StreamPark 越来越好,能够服务更多用户,能够在更多的机器上创造价值。
主要贡献
实现资源管理
开发资源管理模块,统一管理用户资源,并且将资源管理与应用进行集成,实现资源的复用,进一步提升平台上应用开发效率。
完善操作日志
进一步完善平台的操作日志,完整记录用户对作业的操作流程,使得作业的操作逻辑更加完整和自洽,产品体验更好。
提升安全性
完善了用户的权限控制,严格规范用户类型。升级和精简依赖库,解决了平台发行包中的中高危漏洞。
其他
参与代码 Review、修复了 StreamPark 之前存在的一些 Bug。
结缘社区
故事要从一次市场调研说起,因为工作的需求,需要了解下目前业界做得比较出色的实时作业管理平台,所以我们选取了几个比较流行的项目进行评测。在试用的过程中,发现 StreamPark 无论是作业部署还是在开发上,都十分容易上手。评测下来,StreamPark 对 Flink 作业模式提供了最为全面的支持,并且在多版本支持上也保持着领先优势。出于一个技术人员的好奇,就想了解下项目内核是如何实现的。所以,说干就干,赶紧 fork 了仓库代码,重点对 Flink 作业提交和多版本支持这块进行跟踪学习。在深入的过程中,除了学习到 StreamPark 在类加载器这块的优秀设计外,一个意外的收获是发现了许多有关 Scala 的出色用法。能学习到新知识更激起了探索的兴趣,对 StreamPark 代码及框架设计的了解也愈加深入。随着了解的越多,也会发现项目中的一些小问题,就试着解决了下,然后提交了 PR,没想到很快就收到 PR 合并的反馈。PR 被合并带来了继续参与的信心,所以在之后的过程中,发现问题都会尝试着去解决,然后提交到上游。不知不觉中,参与的也越来越多,从改 bug,到做优化,再到参加社区讨论、提交新功能、做代码 Review。在这一步步中,既给社区做了贡献,个人也学习到了很多知识与产品设计方面的经验,这是个双赢,也是持续参与项目的动力。
寄 语
StreamPark 是一个年轻的项目,StreamPark 社区是一个富有活力的社区,非常欢迎大家参与到社区的建设中来。最后,祝 StreamPark 早日从 Apache 孵化器毕业,祝所有与 StreamPark 共同成长的伙伴们都有丰厚的收获!
我与社区的故事
非常荣幸成为 Apache StreamPark 的 PPMC member,感谢社区的极大认可,不知不觉已经加入社区有 1 年多的时间了,我司内部上线使用 StreamPark 也有近一年半的时间了,短短一年多的时间里我经历了项目更名,加入 Apache 孵化器的过程,由 StreamX 改名为 StreamPark,更改后的名字看起来是那么自然,好像理所当然就是这个名字,同时也有了更加优美的 logo,给人扑面而来的立体感,直观的诠释了 StreamPark 的内涵。在此期间我解决了 Flink On Yarn 作业越来越多时的监控瓶颈问题,开发了变量管理功能,使作业的定义和参数使用更加方便快捷,此功能深受用户好评。修复了一些 StreamPark 存在的 Bug,参与了大量的代码 review 和社区答疑工作。做了大量测试和 QA 工作,保障了多次发版的质量和稳定性,我还写了内部生产实践文章,代表社区参加 FFA2022 开源技术峰会分享 StreamPark 在联通的应用实践,跟随社区一起获得了巨大的成长。并且作为 Release Manager 主导了 2.1.0 版本的发布,Apache 的发版非常严格,整个流程走下来,学到了很多知识。StreamPark 实现了流计算作业的 “咖啡管理”,相比之前繁琐的操作,StreamPark 实现了一键打包、一键启动、一键跳转监控,自动跟踪状态... 节约了90% 以上的作业开发和管理运维时间,可以边喝咖啡边操作管理,幸福指数大大提升,这也是为什么越来越多的企业开始使用 Apache StreamPark 赋能业务的原因,我也深有体会,因为联通数科也是深度使用 StreamPark 的一员,内部业务从 StreamPark 中获得了巨大的支撑,很难想象我们每天处理万亿规模的数据、支撑着几十个内部和外部组织下用户使用、支撑了数万的数据服务订阅、支撑了500+ 的 Flink 作业,如果没有一个一站式的、稳定的、灵活的、高效的、操作简单的、经得起长时间生产环境考验的平台去管理和运维作业是个什么结果,在使用 StreamPark 之前我们一直在苦苦支撑,遇到了诸多挑战与困境,虽然现在我们内部项目实时计算的作业规模还在持续增长,但是基于 StreamPark 的管理越发从容,除了对大量的作业的高效的管理外,还很好的满足了 Flink 多版本支持的硬性需求,因为随着生产环境的作业越来越多,不可能版本完全一致,更不可能一刀切使用一个版本,因此极大的贴合了真实使用场景,满足了用户对新版本的必要需求;带给我们的另一个巨大的支撑和惊喜是基于 StreamPark 的一站式管理平台我们只用了 2 个小时就将几百个作业从一个 Hadoop 集群迁移到另一个 Hadoop 集群,期间零数据丢失、零作业漏迁、零故障产生,所以基于 StreamPark 我们有着巨大的信心面对未来的很多挑战。
一年多的时间里,我看到社区的小伙伴们付出了巨大的精力去讨论、开发、测试、review,新的开发者不断加入,新的的功能不断增加,新的UI更加美观、新的想法层出不穷,用户也越来越多,StreamPark 正在以很快的速度向着我们想象中的样子大步向前,很多时候在想开源社区真是一个神奇的地方,因为优秀的项目从来不会被冷落,优秀的项目总是会吸引优秀的人才,优秀的人才总是无私奉献自己的能量。
StreamPark 是一个流处理应用程序开发管理框架。初衷是让流处理更简单,旨在轻松构建和管理流处理应用程序,提供使用 Apache Flink 和 Apache Spark 编写流处理应用程序的开发框架,未来将支持更多其他引擎。同时,StreamPark 提供了一个流处理应用管理平台,核心能力包括但不限于应用开发、调试、交互查询、部署、运维、实时数仓等,最初开源时项目名称叫 StreamX ,于 2022 年 8 月更名[4]为 StreamPark,随后通过投票正式成为 Apache 开源软件基金会的孵化项目。
StreamPark 社区一直以来都以用心做好一个项目为原则,高度关注项目质量,努力建设发展社区。我们时刻保持开发者谦逊朴素的本质,认真学习和遵循「The Apache Way」,秉承更加兼容并包的心态,迎接更多的机遇与挑战。诚挚欢迎更多的贡献者参与到社区建设中来,和我们一道携手共建。
💻 项目地址:https://github.com/apache/streampark🧐 提交问题和建议:https://github.com/apache/streampark/issues🥁 贡献代码:https://github.com/apache/streampark/pulls📮 Proposal:https://cwiki.apache.org/confluence/display/INCUBATOR/StreamPark+Proposal📧 订阅社区开发邮件列表:dev@streampark.apache.org [5] 💁♀️ 社区沟通:
[1] https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/deployment/advanced/historyserver[2] https://github.com/apache/flink-kubernetes-operator[3] https://streampark.apache.org/docs/user-guide/docker-deployment[4] https://github.com/apache/incubator-streampark/issues/1335[5] mailto:dev@streampark.apache.org