The Past, Present and Future of Apache Flink

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。

摘要:本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。内容主要分为这三个部分:

一、Apache Flink 10周年发展回顾

二、Apache Flink 当前的发展现状

三、展望新一代 Apache Flink

一、 The Past

Apache Flink 是大数据实时化升级的核心推动力

Apache Flink 起源于2009年德国柏林工业大学的一个研究项目 Stratosphere。2014 年,该项目的核心团队将其捐赠给 Apache 基金会,并更名为 Flink(德语中意为“快”),同年成为 Apache 顶级项目。几乎同时,Flink的创始团队成立了公司 DataArtisans公司 以支持其发展。

2015 年至 2016 年间,随着阿里巴巴集团业务特别是电商领域(如“双十一”购物节)的迅速扩张,对实时数据处理的需求激增。尽管阿里已有成熟的离线数据处理系统 ODPS,但对于秒级响应的实时数据处理仍面临挑战。经过评估,阿里选择了Apache Flink作为其新的实时计算平台解决方案。至 2016 年的“双十一”,Flink 已在阿里巴巴内部大规模部署并成功支持了相关活动。

阿里巴巴对 Flink 社区进行了持续的投资和支持,主要目的是推动 Flink 技术在中国乃至全球范围内的广泛应用,并促进其成长。2018 年底成立了 Flink 中文社区,并举办了首届 Flink Forward Asia 大会。至今已连续举办七届,即便在疫情期间也未中断。2019 年,阿里收购了 Flink 的创始公司 Data Artisans,之后不久,为了更好地反映公司愿景及其在全球范围内的扩张计划,Data Artisans 更名为 Ververica。同年,阿里巴巴向 Apache Flink 贡献了内部开发多年的 Blink 项目,涉及超过 150 万行核心代码。此举极大地促进了 Flink 社区自 2019 年起在全球范围内的快速发展。

Apache Flink 在过去十年中逐渐成为全球范围内广泛认可的实时流处理框架,得到了工业界和学术界的共同认可。2023 年,Flink 不仅被顶级机构 SIGMOD 授予系统大奖,还见证了多项技术创新,如阿里巴巴捐赠了 Flink CDC(一个实时数据集成框架)给 Flink 社区,并孵化出了新一代实时数据湖 Paimon。至今,Flink 拥有近 2000 位来自世界各地的贡献者,其中约 40%来自中国,显示出中国开发者在该开源项目中的活跃度。阿里巴巴对 Flink 的支持尤为突出,连续七年举办 Flink Forward 大会,促进了技术交流与分享。此外,中国的 Flink PMC 成员及 Flink 开发者们通过微信公众号等平台积极推广 Flink 相关知识和技术文章,极大地推动了 Flink 在中国乃至全球范围内的应用和发展。

Flink 之所以能够取得如此成就,关键在于它顺应了时代发展的需求,适应了近年来大数据领域从离线处理向实时处理转变的趋势,满足了包括互联网、金融、电信、能源、制造、物联网等多个行业对于更高效数据分析的需求。

二、The Present

Apache Flink 已成为大数据流计算全球事实标准

Flink 十年磨一剑,除了阿里巴巴付出非常多的努力来推动它的成长,也离不开中国广大企业、广大开发者的支持,使得 Flink 成为全球范围内大数据流计算的实时标准。其成功不仅源于时代需求,更在于优秀的技术架构设计、扎实理论基础和开放繁荣生态。作为业界首款实现流批融合的计算引擎,Flink 支持Java/SQL/Python 等多语言 API,满足了从大数据开发者到 AI 领域用户的广泛需求。通过丰富的 Connector 和 CDC 子系统,Flink 无缝连接数据库、数据仓库、数据湖等多种存储系统,成为促进不同数据系统间实时流动与分析的关键桥梁,堪称大数据生态中的“数据高速公路”。

Flink 社区一直在探索实时计算和大数据处理的边界,并对其架构进行了重大升级,其中最重要的升级是场景化扩展,使得 Flink 从最初的流式数据处理发展到了更广泛的流式湖仓(Lakehouse)架构。自 2022 年起,Flink 开始孵化子项目 Flink Table Store,旨在开发一种支持实时更新的数据湖存储格式;到 2023 年,该项目独立孵化并更名为 Paimon,现已成长为 Apache 基金会的一个顶级项目。结合使用 Flink 与 Paimon,可以实现从计算到存储的一体化解决方案,适用于构建流批一体化的新一代湖仓系统。

在这种架构下,通过 Flink CDC 工具可将外部数据实时导入 ODS 层,随后利用 Flink 提供的流批一体 SQL 功能在 Paimon 上执行 ETL 操作,从而形成一个完整的实时离线一体化处理平台。这种基于Flink+Paimon的流式湖仓架构被认为是传统 Lakehouse 架构的一种进化版本,它不仅保留了原有 Lakehouse 的优点,还额外提供了全链路实时处理能力和统一的流批处理体验。

流式湖仓作为一种创新技术架构,引起了业界不少公司的关注,并在 2024 年的多个场景中得到了实际应用。特别是在上个月刚刚结束的阿里巴巴“双十一”活动中,通过采用 Flink+Paimon 这一最新的流式湖仓架构,实现了重要业务场景的成功落地,如天猫营销分析大屏。该案例展示了如何利用统一的技术栈来处理实时与离线数据处理需求,从而保证了数据口径的一致性,并显著降低了存储和计算成本。具体来说,由于采用了同一套架构,避免了重复开发 SQL 逻辑以及双份数据存储的需求,使得整体解决方案更加高效、经济。此外,这种架构还支持运营人员实时查看商品成交来源及流量调配情况,同时允许数据分析师在夜间进行更精确的数据回刷以获取最终结果,比如反作弊信息的更新等。未来,随着更多企业对效率提升及成本控制需求的增长,预计这种新型架构将在更广泛的行业范围内得到推广和应用。

三、The Future

新一代 Apache Flink 即将发布

Flink 经过十年的发展已成为流处理领域的事实标准,接下来面对 AI 新时代、面向全面云原生时代,Flink 的技术架构也需要与时俱进的升级。在 Flink 十周年之际即将推出新一代的 Flink 架构——Flink2.0,这是自 2016 年发布 Flink 1.0 以来最大规模的技术架构升级。

Flink 2.0 的主要升级方向包括:

  1. 全面云原生架构:采用存算分离设计,将状态存储迁移至云存储中,从而显著提高系统的容错性、灾难恢复能力和弹性。

  2. 改进的流批一体计算范式:简化用户操作流程,实现更自动化、更易用的流批一体处理能力,降低用户使用门槛,提供更加端到端的服务体验。

  3. 增强AI支持:加强与AI技术特别是大模型系统的集成,使Flink能够更好地服务于 AI 应用场景,并优化与向量数据库等数据基础设施之间的交互,促进数据与AI的深度融合。

总结来说,Flink 2.0 还有非常多的新特性,在此仅做简单的预告,可以期待后续更深入地探讨,以全面揭示 Flink 2.0 的强大功能和潜力。


更多内容


活动推荐

阿里云基于 Apache Flink 构建的企业级产品-实时计算 Flink 版现开启活动:
新用户复制点击下方链接或者扫描二维码即可0元免费试用 Flink + Paimon
实时计算 Flink 版(3000CU*小时,3 个月内)
了解活动详情:https://free.aliyun.com/?utm_content=g_1000395379&productCode=sc

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
打赏
0
33
33
0
1580
分享
相关文章
|
3月前
|
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
973 13
Apache Flink 2.0-preview released
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
154 3
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
347 2
Apache Flink 流批融合技术介绍
本文源自阿里云高级研发工程师周云峰在Apache Asia Community OverCode 2024的分享,内容涵盖从“流批一体”到“流批融合”的演进、技术解决方案及社区进展。流批一体已在API、算子和引擎层面实现统一,但用户仍需手动配置作业模式。流批融合旨在通过动态调整优化策略,自动适应不同场景需求。文章详细介绍了如何通过量化指标(如isProcessingBacklog和isInsertOnly)实现这一目标,并展示了针对不同场景的具体优化措施。此外,还概述了社区当前进展及未来规划,包括将优化方案推向Flink社区、动态调整算子流程结构等。
462 31
Apache Flink 流批融合技术介绍
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
108 1
深入探讨Apache Flink:实时数据流处理的强大框架
在数据驱动时代,企业需高效处理实时数据流。Apache Flink作为开源流处理框架,以其高性能和灵活性成为首选平台。本文详细介绍Flink的核心特性和应用场景,包括实时流处理、强大的状态管理、灵活的窗口机制及批处理兼容性。无论在实时数据分析、金融服务、物联网还是广告技术领域,Flink均展现出巨大潜力,是企业实时数据处理的理想选择。随着大数据需求增长,Flink将继续在数据处理领域发挥重要作用。
300 0
从Apache Flink到Kafka再到Druid的实时数据传输,用于分析/决策
从Apache Flink到Kafka再到Druid的实时数据传输,用于分析/决策
109 0
驾驭复杂性:Spring Cloud在微服务构建中的决胜法则
【8月更文挑战第31天】Spring Cloud是在Spring Framework基础上打造的微服务解决方案,提供服务发现、配置管理、消息路由等功能,适用于构建复杂的微服务架构。本文介绍如何利用Spring Cloud搭建微服务,包括Eureka服务发现、Config Server配置管理和Zuul API网关等组件的配置与使用。通过Spring Cloud,可实现快速开发、自动化配置,并提升系统的伸缩性和容错性,尽管仍需面对分布式事务等挑战,但其强大的社区支持有助于解决问题。
99 0

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多
    AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等