这两天, Flink Forward Asia 2024大会在上海召开,吸引了业内上千人参与。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

阿里云智能开源大数据平台负责人、Apache Flink中文社区发起人、Apache Paimon PMC成员王峰,在Flink Forward Asia 2024大会历数Apache Flink十年发展里程碑

打开网易新闻 查看精彩图片

作为实时计算领域最负盛名的技术盛宴,大会现场座无虚席

打开网易新闻 查看精彩图片

没有人会想到,这个项目的吸引力、影响力如此之大。毕竟,从源头谈起,这是2009的一个实验室项目,来源于德国柏林工业大学的沃克尔·马克尔(Volker Markl)教授领导开发的Stratosphere的大数据分析系统项目。

让人想不到的是,发轫于西部由Stratosphere演化而来的Flink,会在东部的中国得以发扬光大,被广泛应用于各类实时计算场景,比如购物网站的实时推荐系统、物流行业的实时物流信息,乃至金融业的实时风控系统等。包括阿里巴巴、字节、腾讯、小米以及AWS、ebay等国内外互联网大厂都成为Flink的拥趸。

说Flink项目“10年磨一剑”也好、10年“开花结果”也好,这与阿里有着非常紧密的联系:阿里不仅是国内最早将Flink(Blink)用于实时在线业务的企业,同时也是Flink开源社区最重要的贡献者之一,主导推动了Flink社区的发展。

本文将深度解读Flink扎根于国内互联网“开花结果”的幕后故事。同时结合趋势,给出下一个十年的预测。

从默默无闻到功成名就,阿里云成Flink背后最大贡献者?

故事回到10年前。

沃克尔教授领导的Stratosphere项目,早期准备做Batch计算。但当时很多计算项目都使用批处理方式,包括后来大名鼎鼎的Apache Spark。于是Stratosphere转向流处理开发,并于2014年4月被捐赠给Apache基金会,改名为 Apache Flink,同年12月,成为Apache顶级项目。

2014年前后是国内互联网狂飙突进的时代。作为互联网购物顶流,淘宝网主导的双11购物节参与者以亿为单位。面对如此巨大且不断增长的流量,阿里在业务上面临着一个巨大的挑战——业务实时化需求。而当时较为成熟的Spark和阿里自研的ODPS都偏离线批处理,阿里技术团队迫切需要一个新的技术处理淘宝流量。Flink就这样进入了阿里技术团队的视野,无论是技术架构还是理论模型,Flink都得到了阿里技术团队的高度认同。

2015年的Flink仍是一个非常早期的版本,不可能直接在淘宝这么大规模的应用场景下落地。于是阿里技术团队根据实际业务需求,对Flink进行了大刀阔斧的改进,最终在2016年上线并成功经受住了双11流量的考验,首次在实际应用场景下验证了新一代流计算模型的可行性。

2017、2018和2019年连续三年,在不断加大的流量冲击下,Flink展示了其在实时计算领域的优越性。Flink也逐渐开始支持包括淘宝、天猫、支付宝、高德、飞猪、优酷等重要业务部门,甚至还通过阿里云向中小企业提供一站式实时计算服务。这就是阿里的Blink。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

2016年淘宝双11战报(源自互联网)

打开网易新闻 查看精彩图片

由于连续几年经过双11“大考”,Flink(Blink)吸引了包括京东、美团、滴滴等国内一线互联网大厂的关注,纷纷探索Flink实时计算新场景。经过一线大厂的分享扩散,Flink逐渐辐射至物流、交通、新能源汽车以及金融等诸多行业。

Flink(Blink)在淘宝乃至各条业务线的成功,引起了行癫等一众阿里高层的重视。为了更好地推动Flink的发展,阿里在2019年以9000万欧元的价格收购了Flink创始公司Data Artisans。并且,阿里还将经过实战验证的Flink(Blink)分支(约150万行增量代码)合并到Flink社区,后又陆续贡献了Fink CDC、Paimon等相关生态项目。还先后投入了超过50名工程师以支持Flink的开发,这之中的很多工程师都成为Flink社区的核心成员,为Flink项目的各个核心模块的顺利开发发挥了极其重要的作用。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

Flink开源社区官网列举的Flink用户(部分)

打开网易新闻 查看精彩图片

时至今日,Flink已经成为全球企业关注的开源项目,包括AWS、ebay与Bouygues等国际知名企业都已成为Flink的用户。但这些成就都是Flink在上一个十年取得的,随着数智技术的不断发展,Flink也需要随着业务需求的变化而不断改进。

在具有总结性的时间节点上,Flink社区在Flink Forward Berlin 2024大会中发布了具有存算分离、流批一体、融合AI等新特性的Flink 2.0的预览版本,为不断发展的企业实时计算场景提供更好支撑。

Flink 2.0:让企业实时计算更灵活

过去10年中,Flink一直随着业务的需求不断迭代、增加新的功能,但从本质架构上并没有太大改变。

面向未来10年,Flink需要一个全新架构以推动下一步云原生演进,2.0版本孕育而生。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

本次大会首次公布Flink 2.0版本的技术特点与细节

打开网易新闻 查看精彩图片

全新Flink 2.0三大功能特点:

1

存算分离:让企业部署更方便

Flink 2.0之前版本并没有真正实现存算分离,因为流处理是有状态的,计算节点通常会将这些状态存储在本地。那么在存算不分离的状态下,这就会显著增加运维复杂度,因为有数据就涉及到数据保护、容灾、故障恢复等一系列较为复杂的问题,但Flink 1.0版本架构很难实现真正的存算分离。

在Flink 2.0正式版中,社区完全摒弃了1.0中使用本地轻量级数据库RocksDB,而采用C++设计实现了全新的专门面向流处理场景的状态存储引擎内核——ForStDB,这是一个完全基于对象存储和HFS的存算分离架构,将计算引擎与存储内核彻底解耦分离,而可以使用按需统一分配的计算资源池与存储资源池。这意味着不仅大幅简化了企业资源配置、运维、管理等方面的复杂度,更重要是让整个系统的可运维性、可观测性、弹性、容灾性得到一个质的提升。

2

流批一体:让企业使用更简单

流处理和批处理是两种截然不同的计算方式,分别对应不同的业务需求。大多数企业通常都部署两个独立的系统去进行流、批处理,典型如用Flink进行流处理、用Spark进行批处理。这会导致两个问题,其一是两套系统独立部署带来的资源浪费、架构复杂以及管理困难等问题;并且,这还意味着在流、批处理链路中大量相同的数据加工逻辑需要重复开发和维护,而引擎差异产生的数据口径不同,又会导致那些需要将历史数据与实时数据相关联场景中的数据对应不上等问题。

社区在过去几年一直探索如何在Flink中实现真正的流批一体,创新性地引入了流批一体SQL语法——Materialized Table。Flink 2.0中的Materialized Table将帮助企业构建真正流批一体的实时计算场景。当业务数据处理需求过来,只要管理员描述好数据处理逻辑,剩下的交给Flink即可,管理员无需关注底层运行的到底是流处理还是批处理,Flink可以根据数据逻辑与最佳实践相结合,自动选择最优的处理方式。从业务角度来看,流批一体能够有效降低业务开发成本,同时降低系统运营成本。

3

融入AI:让企业业务更灵活

无处不在的AI给企业业务带来了更多可能性,但企业应用AI过程中也产生了很多需要解决的问题。Flink当然不会去做大模型本身,但在大模型实际应用过程中,Flink的加入能够最终用户有更好的AI体验。

举例来说,为了实现更好的用户体验,一定是需要一个向量库、知识库或知识引擎的,这个库的更新对改善AI体验有着重要的作用。在这方面,Flink希望通过对AI大模型的调用、向量库的构建,包括与模型预处理的数据处理部分实现与AI的打通。这或许将是Flink 2.0的发展新方向。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

大会上宣布开源专为Flink设计的

下一代流存储Fluss项目

打开网易新闻 查看精彩图片

大会现场,阿里云还宣布开源下一代流存储 Fluss (Flink Unified Streaming Storage)项目,这是围绕湖仓架构打造的Flink专属实时流存储底座,可大幅提升 Flink 实时流计算的能力。即日起,全球开发者可在Github上下载使用。

Flink要有一个良好的发展,必然离不开生态系统。尽管Flink在全球都备受青睐,很多互联网大厂都加入其中,但如何让更多行业的企业参与其中,尤其是让更广大的中小企业都从中受益,这是Flink社区必须要考虑的问题。

打开网易新闻 查看精彩图片

阿里开足马力推动Flink生态:从方案到产品、从本土到国际

实际上,当前已经有很多不同行业的企业都看到了Flink的价值,比如阿里云推出的Flink商业版就被上海证券交易所(上交所)采用以支撑新交易监管系统,据公开数据,这一系统的交易数据实时处理扩展达50万笔/秒以上,总体消息处理能力可达每秒千万级别。除此之外,在阿里云官网,包括钱大妈、江铃汽车、易仓科技、用友畅捷通、微淼、飞鹤等不同行业的企业都成为Flink商业版的用户。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

类似于开源社区的通用做法,目前在阿里云也维护着两个Flink分支,其一是开源版本,以整个社区的用户需求为根据进行技术演进;另一个则是商业化的闭源版本,利用阿里自研组件替代部分纯开源实现,并针对性能、算子等核心能力进行优化,为企业提供覆盖运维、管理、监控以及调优等多方面需求的一站式整体解决方案。

开源解决方案的商品化是社区良性发展的重要支撑。对于很多企业,尤其是中小企业而言,开源并非不好,但受限于技术、人才等多种因素,很难将开源解决方案真正用好。但社区通过提供一套完整的端到端的产品与服务,能让更多企业参与到开源生态之中,最终让开源社区的发展成为一个良性的商业闭环。

从互联网走向全行业是Flink社区持续发展的一个维度,从本土走向国际则是另一个维度。

本质来说, Flink属于开源项目,必然会走向全球。如果要走向全球,必然会适应不同国家和地区的需求,而不是仅仅局限于中国本土的需求。

其实阿里所有开源项目从一开始就遵循 “立足本土 放眼全球”的战略思维。以Flink为例,从产品内核来说,阿里与社区参与者不断迭代功能,共同努力向前走。在产品落地层面,阿里在Flink社区的投入以及运作项目的经验,获得了同行们的积极参与,赢得了全球同行的认同。

Flink有着全球一致的内核,但在不同国家和地区的版本、功能上略有差异,完全是一个国际化的产品(不会让人感觉这是中国的产品)。在运营过程中,阿里也依托当地的团队展开。比如欧洲依托于德国本土的Ververica(原Data Artisans)展开运营,招募技术人员和用户推广;东南亚则和当地的合作伙伴一起推广。

实际上,作为Flink社区一年一度的盛宴,Flink Forword已经走进了东南亚地区,比如今年将在印尼雅加达举行Flink大会,很多企业都踊跃报名参会,除了雅加达本土知名的公司外,甚至还有远在美国的公司也会派代表参加,比如AWS、Uber、Confluence等全球知名企业

结 语

开源已经成为推动全球技术创新发展的重要动力。

在过去二十年中,中国互联网经历了“井喷式”的发展,越来越多国内成长起来的企业站在了全球领先行列。在开源技术方面,很多国内科技企业也从原来的跟随者逐渐成长为贡献者、创新者和主导者,包括Flink、Spark、RISC-V、OCP等国际知名的开源项目之中都有他们的身影。这其中态度最坚定的当属阿里,数据显示,过去十余年,阿里云共开源2000余个项目,和生态伙伴一起向开源社区贡献超100亿行代码,阿里巴巴还曾连续十年蝉联中国企业开源影响力第一,稳居参与开源人数最多的中国科技公司。

现在,强势崛起的Flink已成为开源界的一颗璀璨明珠,而阿里的成功经验也给国内企业参与、推动开源社区发展树立了一个新的典范。

下一个10年,Flink会不会创造更多的奇迹?这个问题交给社区、交给技术、还要交给阿里来回答。