我们已经在开发者邮件列表上发起了关于 Flink 2.0 版本计划的讨论。我们相信现在是时候启动这个计划了,以便在明年作为 Apache Flink 的十周年庆典推出这个版本。欢迎大家参加关于 Flink 2.0 的愿景、功能、时间表、流程、路线图等方面的讨论!

开发者邮件列表讨论地址:lists.apache.org/thread/b8w5…

点击参与讨论

**

在过去几年中,这个话题时不时地在邮件列表、Jira 和线下讨论中被提到。然而,2.0 版本的规划需要投入巨大的决心和努力,再加上社区忙于其他优先事项,Flink 2.0 一直没有真正推进起来。近几周,在我们团队内部以及和来自阿里巴巴 / Ververica 之外的一些人(感谢 Becket 和 Robert 的见解)进行了一系列线下讨论后,我们认为是时候在社区中开展这项工作了。

以下是我们对 2.0 版本的一些想法。期待您的意见和反馈。

为什么要为 2.0 版本做规划?

Flink 1.0.0 于 2016 年 3 月发布。在过去的 7 年中,添加了许多新功能,该项目已经与以前不同。那么现在的 Flink 是什么?未来 3-5 年它将成为什么样子?如何看待 Flink 在行业中的定位?我们认为现在是重新思考这些问题,并制定出迈向新里程碑的路线图的时候了,这个里程碑值得一个新的主版本。

此外,我们仍在为 7 年前设计并声称稳定的 API 提供向后兼容性(也许不是完美的,但很大程度上是)。虽然这样的向后兼容性有助于用户更轻松地使用最新的 Flink 版本,但它有时候也可能会变成维护的负担和新功能与改进的限制。现在是对所有公共 API 进行全面审查和清理的时候了。

此外,明年是 Flink 作为 Apache 项目的第十年。Flink 于 2014 年 4 月加入 Apache 孵化器,并于 2014 年 12 月成为顶级项目。2024 年将是发布 2.0 版本的完美时机。对于这样一个重要版本,我们预计需要一年甚至更长的时间来准备,这意味着我们现在可能应该开始了。

我们在 2.0 版本中应该关注什么?

  • 路线图讨论:我们如何在现在和未来定义和定位 Flink?我相信很多人对此有所思考,但我们还没有在社区明确地讨论和对齐这方面的想法。理想情况下,2.0 版本应该是路线图讨论的一个结果。
  • 非兼容性改动:涉及打破 API 向后兼容性的重要改进、错误修复、技术债务,这只能在主要版本中进行。
  • 在具有 API 非兼容性改动的情况下,我们可能需要多个 2.0-alpha/beta 版本来收集反馈。
  • 核心的新特性:重要的新功能和改进(例如,新的用户故事、架构升级),它们可能会改变用户使用 Flink 的方式以及 Flink 在行业中的定位。其中一些也可能涉及非兼容性改动或重大的行为变化。
  • 也有一些观点认为,我们应该尽可能地将精力只集中在非兼容性改动上。增量的、兼容性的改进和功能,或任何可以添加到 2.x 小版本中的内容,都不应该阻碍 2.0 版本的发布。

更详细的技术内容可能最好在另一个主题中讨论,以使当前讨论集中于整体提案,并留出时间让各方考虑他们的技术计划。