AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

八年“老网红”Flink:揭秘实时流计算引擎全球化落地的演进历程

  • 2023-03-22
    北京
  • 本文字数:4050 字

    阅读完需:约 13 分钟

八年“老网红”Flink:揭秘实时流计算引擎全球化落地的演进历程

“Flink 已经成为全球范围内实时流计算的事实标准。”用这句话来描绘 Flink 在当前大数据技术领域的地位并不为过。


虽然大数据领域的技术和潮流方向在不断发生改变,但是 Flink 一直处于核心驱动的位置。从流式计算引擎的兴起,到流批一体在企业内部的落地,再到为实现端到端全链路的实时化分析能力而走向舞台中央的流式数仓,Flink 均在其中扮演着重要的角色。


以上每个过程的推进和实现都并不容易,Flink 到底是如何做到的?其背后的推动力是什么?凭什么受到全球企业和开发者的青睐?带着这些问题,InfoQ 有幸采访到了 Apache Flink 中文社区发起人、阿里巴巴开源大数据平台负责人王峰(莫问),以期深度了解 Flink 从实时流计算引擎到全球化落地的演进历程。

流式计算引擎的纷争:Flink 靠什么打破瓶颈期?


在 Flink 诞生之前,大数据领域的计算框架不在少数,先后出现的 Hadoop 和 Spark 已是业界的主流选择。


彼时,专为批处理而生的 Hadoop,在实时数据处理方面存在着明显不足。在此背景下,Spark 推出了流计算解决方案——Spark Streaming。但由于 Spark 不是一款纯流式计算引擎,所以其在动态调整、事物机制、延迟性、吞吐量等方面的表现也并不亮眼。直到 Flink 出现以后,才提供了一个真正的流引擎,将 Streaming 计算和状态存储进行有机融合,在框架层支持整个流计算状态的精准数据一致性,填补了大数据市场的空白。


时至今日,Flink 已经成为全球范围内被广泛使用的开源大数据计算引擎。但据 InfoQ 了解,即便是这样一款性能优秀的流计算引擎,其在一开始的推广阶段也曾陷入瓶颈。这背后,一方面是市场需求所致,早在七八年前,大多数企业对于数据处理的实效性需求还未大规模显露;另一方面是受学习门槛的影响,当时大数据处理领域的通用语言是 SQL,而早期开发 Flink 需要通过 DataStream 的 API 写 Java 代码,学习门槛过高成为了 Flink 陷入推广瓶颈的核心因素之一。


那么,在未经大规模验证的情况下,Flink 到底是如何走向公众视野的?“阿里其实是在其他企业还没有需求的时候,就已经把 Flink 打磨好了。”王峰在接受 InfoQ 采访时回忆道。


相比于其他没有实时化计算需求的企业,阿里在业务量方面走得比较靠前。尤其是在双 11 这类特殊的业务场景下,对数据做实时的收集、分析、处理成为强需求。当时,阿里的商品数据处理就经常需要面对增量和全量两套不同的业务流程问题,如何用一套统一的大数据引擎技术,在各种不同的场景下提供支持,成为阿里面临的技术挑战


于是,阿里在 2015 年启动了对 Flink 的调研,决定用 Flink 做一个统一的、通用的大数据引擎作为未来的选型,并在 2016 年首次将 Flink 应用在了双 11 搜索推荐场景中。


但正如前文所言,阿里在使用阶段也发现了 Flink 在稳定性、易用性等方面的不足。基于此,阿里也开启了对 Flink 的优化之路,在内部建立起了一个 Flink 的分支——Blink,实现了 Flink 流批一体架构的高度融合,含统一 Flink SQL、统一 SQL 架构以及与 Hive 生态系统集成。在 2019 年,阿里将内部积累的 Blink SQL 贡献给了 Flink 社区,将 Blink 中比较通用的部分悉数回馈给  Flink 社区,贡献了超过一百万行代码,这其中包括 Runtime、SQL、PyFlink 以及 ML Pipeline。


历经阿里庞大业务量洗礼的 Blink,对 Flink SQL 产生了深远的影响,不仅推动了 Flink SQL 的发展,使其比以前快了 10 倍,还把 Flink SQL 塑造成了如今我们看到的样子。此外,阿里云还在 2019 年收购了 Flink 母公司 Data Artisans(更名 Ververica),并推出了全球统一的 Flink 企业版平台——Ververica Platform。


由此也能看出,Flink 能够在 2019 年将 GitHub 上的 Star 数量翻了一倍,这样的数据波动绝非偶然,很大程度是阿里在背后推动。

从计算引擎到流批一体和流式数仓:Flink 从项目成为“标准”


如果说 2019 年仅仅是阿里向 Flink 全球化社区迈出的一小步,那么至此以后,阿里便一直在推动着 Flink 全球化社区的发展。据统计,阿里 /Ververica 主导了 211 个 Flink 核心设计提案,贡献了 Flink 70%+ 的核心改进


在 2020 年,社区一共发布了 Flink 1.10 & 1.11 & 1.12 三个大版本,对 Flink 流批一体架构做了重要的升级和落地;在 2021 年,推出的 Flink Remote Shuffle 项目,解决了 Flink 大规模批处理作业的稳定性问题。这两年间,Flink 在持续优化流计算核心能力的同时,还在逐步推进流批一体的技术理念。



直到 2022 年,我们在 Flink Forward Asia 2021 看到了 Flink 的下一步发展方向——流式数仓,即让整个数仓的数据全实时地流动起来,且是以纯流的方式而不是微批的方式流动。为了实现流批一体的存储能力,Flink 社区还在去年推出了全新子项目 Table Store(近期已升级为 Apache 孵化项目 Paimon)。本文,我们不对流式数仓过多赘述,在 InfoQ 发布的 《Apache Flink 不止于计算,数仓架构或兴起新一轮变革》 中已有详尽解读。


但回溯 2019 年 -2022 年 Flink 的版本迭代情况可以看出,Flink 的迭代速度相对比较快,基本每三到四个月就会发布一个大版本。动作频频的背后,我们也在好奇,阿里为何总能洞察到大数据行业的真实需求?其背后的迭代思路来自何处?关于这个问题,王峰总结“实践经验 + 理论洞察”是两个关键要素。


众所周知,阿里是 Flink 的早期实践者,在丰富业务形态与庞大业务量的驱动下,阿里内部对实时化计算的要求越来越高,这也就倒逼 Flink 的良性发展和沉淀。例如,在 2020 年,阿里巴巴首次在双 11 最核心的天猫营销活动分析大屏场景中落地 Flink 流批一体;在 2021 年双 11 中,Flink 承载的实时计算峰值达到了每秒 40 亿条记录,数据体量也达到 7 TB 每秒...... 正是在阿里大规模应用 Flink 的实战经验之下,真实的业务需求能够帮助 Flink 做输入,并反哺 Flink 全球化社区向前发展。


然而,只有业务场景这一个要素并不足够,Flink 的每次迭代能够顺应大数据行业的发展需求,还离不开阿里在全球化方面的全局洞察。据统计,阿里联合 Ververica 已累计培养了近 70 位 Flink 核心贡献者(含项目管理委员会 PMC 成员和活跃贡献者 committer),占比超 70%。因此,阿里在推动 Flink 的发展过程中,其技术视野并不会只聚焦在国内,对标国外头部大数据公司的技术理念促使 Flink 的每次规划都更具前瞻性。


总体而言,我们发现,无论是持续强化流计算引擎,还是推动流批一体技术理念的落地应用,亦或是提出流式数仓的新目标,Flink 核心特色其实一直都没有改变,其本质都是基于 Streaming 这个核心理念进行持续强化。


这也就不难理解,Flink 如今能够成为大数据实时计算业界事实标准,与其在一条赛道保持专注是密不可分的。“开源项目只有做到业界的头部才有生存空间,Flink 就是要成为全球范围内最好的流式计算引擎。”王峰在采访中进一步补充道。

开源之余,Flink 的全球化落地之路


基于全球化的开源理念,Flink 吸引了全球开发者的加入,截至目前已经积累了超过 1600 名开发者为 Flink 社区做贡献,2022 年又新增加了 200 多名开发者。在下载量方面,Flink 在 2022 年再创新高,月度峰值的下载量最高已经突破 1400 万次。


不仅于此,Flink 还吸引了全球企业的应用落地,Apple、Capital One、eBay、Ericsson 等全球知名公司都在使用 Flink 处理实时数据。而这样的实践,又反推整个项目不断更新迭代,进而发展得更好。从某种程度来讲,Flink 其实为我们展现了一个全球化开源项目应该有的良性循环。


目前,阿里巴巴不仅是 Flink 最大的贡献者和使用者,还基于 Apache Flink 推出了实时计算 Flink 云产品和全球统一的 Flink 企业版平台 Ververica Platform,在政务、金融、制造、零售、交通出行、传媒、游戏、科技等行业大规模应用,帮助上千家全球企业更高效地进行实时业务升级。


根据不完全统计,使用 Flink 的非互联网企业占比已超过 30%。而通过这组数据,我们的一个明显感知是,实时化计算已经从早期只能被少数互联网企业玩转,逐渐演变成一种更为普适化的技术。


正如王峰在采访时所说:“如果大多数企业都不会用、用不起,大数据技术永远只能高高在上,很难再往下发展。”如何持续降低大数据的使用门槛以及使用成本,已经成为业界的共识,而从 Flink 在非互联网企业的加速普及中,我们已经看到了阿里取得的阶段性成果。


谈及 Flink 全球化运作的后续规划,王峰提到,接下来迭代商业化产品会沿着两条路径来走,以满足国内外企业的不同需求。


“在帮助上千家全球企业高效地进行实时业务升级的过程中,能够发现国内、国外企业在使用 Flink 商业化版本的关注点也有所不同。”


例如,国内企业更加关注运行成本,以及使用 Flink 云产品以后能否提供服务支持等等,后续实时计算 Flink 版会着重从软硬一体结合的角度来降低成本;反观国外企业,他们更加关注 Ververica Platform 的产品力,即产品的用户体验、安全性、易用性等方面是不是做得足够好。据王峰透露,Ververica Platform 预计在 4 月份会推出云中立的特性,让企业不仅能在阿里云上运行 Flink,还可以在 AWS、Azure、Google Cloud 等公有云上使用。


除此之外,前文提到的 Flink Table Store 子项目也迎来新动态。近期,阿里已经将其独立孵化成 Apache 的顶级项目 Paimon,并且会开放对接 Spark、Presto/Trino、StarRocks/Doris 等主流的计算引擎,目的便是为了让用户通过一套存储实现数据的更新、分析等等。


从上述释放的信号我们能够感受到,阿里不仅在技术生态方面具备了全球化的发展态势,伴随着云中立特性的补充以及独立子项目的孵化,Flink 商业生态、开源生态的全球化也将得到进一步的完善。

写在最后


Flink 能够成为全球范围内被广泛使用的开源大数据计算引擎,不仅靠阿里一家的努力,同时需要更多开发者与企业的参与、共建。据统计,Flink 全球化社区已经有超过 20 万开发者关注、超过 100 家国内外知名公司参与代码贡献。在如此庞大的用户和开发者生态之中,有 45% 是来自于中国的开发者,这足以体现中国开发者对 Flink 全球化社区的推动作用。


今后,我们也很乐于看到在阿里的持续引领下,Flink 全球化社区能够在实时计算层面有更大的突破。

2023-03-22 13:507988

评论

发布
暂无评论
发现更多内容

数字化智能工厂的主要功能组成

万界星空科技

数字化 智能工厂 智能制造 万界星空科技mes MES、

构建万物智联生态,“人才”与“资金”不能少

Geek_2d6073

文盘rust--使用 Rust 构建RAG

京东科技开发者

夜莺监控的机器支持挂载到多个业务组了

巴辉特

监控系统 运维监控 IT监控 开源监控

1688跨境代采业务用到的API接口及其使用示例

tbapi

1688代采系统 1688代采接口 1688跨境

京东商品详情API接口(JD.item_get)并发策略:提升数据抓取效率

tbapi

京东API接口 京东商品详情接口 京东商品数据接口

在C#中使用适配器Adapter模式和扩展方法解决面向对象设计问题

不在线第一只蜗牛

C# .net

线上事故风险解读之技术漏洞

巧手打字通

后端 架构设计 工程能力 线上事故 构架

人工智能的未来

天津汇柏科技有限公司

AI 人工智能

35+IT技术同学的未来职场选择

老张

认知提升 规划 职业生涯 职场发展

F5携手NetApp加速并简化大语言模型AI部署

科技热闻

淘宝商品详情页接口_X-ISGN和WUA算法

tbapi

淘宝商品详情数据接口 淘宝API接口

RAG系统评测实践详细版:Coze及相关产品评测对比,以及下一代RAG技术

汀丶人工智能

rag

10月才是秋招主战场!

王磊

新一轮 Web3 游戏季,Final Glory成捕获全新市场红利的入口

加密眼界

新一轮 Web3 游戏季,Final Glory成捕获全新市场红利的入口

大瞿科技

Web 性能优化|了解 HTTP 协议后才能理解的预加载

阿里技术

性能优化 Web HTTP 用户体验 网站性能

万界星空科技MES系统在智能制造中的应用

万界星空科技

智能制造 mes 万界星空科技mes 制造业工厂

荣誉|奇点云入选“2024年成长型浙江数商”名单

奇点云

人工智能 互联网 软件

迎接国庆旅游热潮,火山引擎数据飞轮助力景区数智化升级

字节跳动数据平台

增长 数智化转型 大数据‘’ 数据飞轮

电商数据化运营:阿里巴巴商品详情API返回值的实际应用

技术冰糖葫芦

API 接口 API 文档 API 测试 pinduoduo API

火山引擎边缘智能亮相“地瓜机器人开发者大会”,推动端侧大模型应用与落地

火山引擎边缘云

物联网 边缘计算 机器人 智能IoT边缘服务

从SQL Server过渡到PostgreSQL:理解模式的差异

EquatorCoco

数据库 sql

NL2SQL之DB-GPT-Hub<详解篇>:text2sql任务的微调框架和基准对比

汀丶人工智能

NL2SQL

2024-10-08:用go语言,给定一个字符串 word 和一个整数 k,判断是否可以通过删除最少数量的字符使得该字符串成为 k 特殊字符串。 其中,k 特殊字符串满足字符串中任意两个字符的出现频率

福大大架构师每日一题

福大大架构师每日一题

揭秘:一键获取京东商品详情的API之旅

代码忍者

API 测试 pinduoduo API

亚马逊国际商品详情API返回值:电商精准营销的关键

技术冰糖葫芦

API Gateway API 接口 API 文档 API 测试 pinduoduo API

京东金融APP的鸿蒙之旅:技术、挑战与实践

京东科技开发者

揭秘动态化跨端框架在鸿蒙系统下的高性能解决方案

京东科技开发者

技术实现方案:获取淘宝商品详情API返回值

代码忍者

API 测试 pinduoduo API

八年“老网红”Flink:揭秘实时流计算引擎全球化落地的演进历程_开源_郑思宇_InfoQ精选文章