首页 > 自考资讯 > 高考百科

投入上百人、经历多次双11,Flink已经足够强大了吗?,flink各版本发布时间

小条 2024-10-22

嘉宾专访| 汪峰(莫文)

作者| 蒂娜

Flink是最活跃的大数据项目之一,连续八年成为Apache软件基金会的顶级项目。

Apache Flink 是一个实时大数据分析引擎,也支持流批执行模式,可以与Hadoop 生态系统无缝连接。它于2014 年被批准为Apache 孵化器项目,并在几个月后成为Apache 顶级项目。

对于Flink来说,阿里巴巴有一个非常适合的流媒体场景。作为Flink的领先者,阿里巴巴从2015年开始探索Flink,并于2016年首次在搜索场景推出Flink。在落地的同时,阿里巴巴对Flink进行了很多改变和改进,以适应超大规模的业务场景。 2017年,阿里巴巴成为Flink社区最大的用户,Flink团队有数百人。 Ali 在其2018 年文章《Flink 已经足够强大了吗?阿里巴巴说:还不够》 中详细介绍了其中一些早期改进。

2019年,阿里巴巴宣布收购Flink背后的公司,并正式开源其内部Flink版本Blink,贡献了超过100万行代码,极大地促进了社区的健康发展。 2021年双11期间,Flink实时计算峰值达到每秒40亿条记录,数据量达到每秒7TB。这相当于每秒阅读500万本书(《新华字典》)。

过去几年,Flink 社区不断在国内外技术会议上推广Flink,使得Flink 得到了广泛的应用,应用场景更加广泛,生态系统也得到了快速发展。 Flink 变得更加强大,它的设计目标不再只是一个流计算引擎;现在大多数数据分析师都使用Flink 的流批量集成API 来进行实时数据集成、分析、风险管理和在线机器学习。构建场景解决方案。计划。

bcee6a147df445b1b929eb7f1918d960~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730156991&x-signature=SMfo5n9bQUxE1k2Ws1woSXSaEYY%3D Flink Forward Asia 2022将于2022年11月26-27日在线举办。这是一个总结最近发布的重要功能的机会。现在,Flink 的流数据仓库能力已经更加成熟,CDC 现在已经可以接入多种数据库了……InfoQ 趁着这个机会,给Apache Flink 中文社区的创始人们做了分享,我们采访了王峰,阿里巴巴开源大数据平台负责人。 (没人知道名字),解读Flink核心技术的进步,了解Flink未来的规划。

从流计算到流批一体计算

在击败Storm和Spark Streaming之后,Flink成为流计算的唯一标准,没有技术竞争对手。

Flink诞生之初,就凭借“有状态流计算”的核心理念和能力,迅速击败了上一代流计算引擎Storm。 Flink不仅通过融合计算和状态管理两种技术提供高性能的纯流式计算,还通过框架层的分布式一致性快照技术为用户提供精确的数据一致性保证。在莫文看来,这是Flink问世后迅速成为流计算领域新主流的主要原因。

Spark Streaming利用了强大的Spark生态系统,使其成为一些流计算场景的选择,但其核心仍然基于Spark Batch引擎,这使得难以处理非纯流执行模式仍然限制了其执行性能。和流语义表示。

在批量计算方面,Flink 已经完成了大部分工作,并且越来越成熟。 “目前,Flink 能够完全执行批处理标准测试集TPC-DS,并且性能非常好,达到了主流批处理引擎的水平,我们努力利用流处理的天然优势为我们的用户提供服务。业界最佳的流批一体化计算体验。 ”

为什么需要批量集成?为什么基于Flink的流批量集成有技术优势?

我们首先从业务角度来看这个问题。早期,企业本质上是线下业务,每天运行一次基于批处理的报表。然而,数字世界正在不断发展并且变得越来越实时。需要。实时风险管理、实时BI统计、实时推荐、实时监控不能等到晚上(当你的产品卖完、你的用户离开时)。只有实时数据分析才能实现。对用户的价值。渐渐地,离线和实时成为两个并行、独立的环节,而且随着实时数据业务量占比不断增大,越来越多的任务需要二次开发,开发者面临着开发效率的问题。将开始面对。

此外,实时和离线链路的分离也带来了业务质量一致性问题。在以往的技术方案中,实时和离线相当于使用两套工具,使用不同的语言进行工作。如果引擎和数据质量不一致,这样的分析结果就会阻碍业务决策,甚至导致误导性的决策错误。

当下,流式和批处理的融合自然成为解决实时和离线碎片化的“新途径”。使用一套计算引擎开发的两个实时和离线业务流程自然是一致且无错误的。尤其是对于数据平台中的搜索、推荐、广告、营销分析等一些时间敏感的业务场景,对流批一体化处理的需求自然比较高。另外,在搜索推荐场景中,您可以将Flink流批任务和在线任务结合起来,共享资源池,进行一体化调度,最大化服务器资源利用率。这也是业内比较先进的方法。

虽然新的流批集成架构的好处很明显,但这并不意味着它是一种“一刀切”的技术架构。莫文认为: “如果你现在的数据业务本质上是一个离线数据仓库,并且没有任何规模的实时业务,那么没有必要过早地进行流式和批量集成的改造。这样做的好处是:实时时需要流式批量。”当业务量每天都在增加的时候,当离线数据的比例每天都在增加的时候,或者当数据一致性的要求越来越高的时候,一体化架构是未来的必然选择。”

流式数仓:基于流批一体的新数仓架构

流批一体化是一个技术概念。

Flink 在SQL 层提供了流批集成语义表达能力。这意味着用户可以创建一组SQL并在实时和离线场景中使用它,提供完全增量和集成的数据开发体验。

难道流批一体化的想法就到此为止了吗?显然这还不够。数据存储链路还有很多复杂性,比如实时链路需要Flink将数据写入Kafka等流式存储。对于离线链接,Flink 必须将数据写入To 批次。 Hive/Iceberg/Hudi 等存储。虽然两条存储链路是分开的,但用户仍然要同时维护两条数据链路,管理困难。

791274a4167046db9777d6061c7253cd~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730156991&x-signature=6oHM0qXJcTS%2Bpf5TIQX5mwUuZTU%3D 然而,需要同时维护两套存储的主要原因是行业目前需要更多的生产就绪、高效的流式读取、流式写入等,以满足不同的用户业务需求(。时效性、可分析性等)只能通过链路的组合来连接,数据还需要在不同存储之间进行同步。整个环节不可避免地变得越来越复杂。

55869302dc294469a284b092770cf39c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730156991&x-signature=KqaCBr2ncg2qnF6LU4uI1PJEkDY%3D 这就是Flink CDC项目诞生的背景。充分利用Flink的独特优势,采用流批集成执行模式,实现全量增量同步的自动切换,并实现数据同步断点续传功能。基于Flink检查点特性和增量快照的一致性读算法,保证整个数据同步过程对线上数据库无锁,对运营业务无影响。

作为另一个流批处理融合的创新应用场景,CDC项目发展也非常迅速,参与社区贡献的公司有网易、腾讯、Oceanbase、Bilibili、Xtransfer等,目前已超过3000家。 MySQL、Oracle、PostgreSQL、MongoDB、TiDB、PolarDB、OceanBase 等众多主流数据库。莫文表示,Flink CDC将进一步借助Flink社区的创新,接入更多的数据源,成为新一代全增量、一体化的数据集成引擎。

基于 Flink 的全增量一体化数据集成

随着云原生的普及,越来越多的企业应用正在迁移到容器中,通过K8进行编排和管理。近年来,大数据领域的Spark、Kafka开始支持K8s,大数据应用正在从传统的Yarn时代向云原生时代转变。

Flink 社区多年来一直围绕云原生进行设计,包括Flink 的资源调度和Streaming Shuffle 等天然适合云原生的东西。 Flink 是一种流式计算引擎,无需将数据洗牌到磁盘。分布式计算之间的数据流是本地独立的。既然是磁盘,自然是在单独的架构上存储和计算的。另外,Flink 自带状态存储,算子内部支持计算算子和状态访问,这意味着Flink 可以随时关闭。删除RocksDB服务并将状态数据快照到持久HDFS或云存储。

Flink 作为云原生架构产品,本身就是朝着云原生架构设计的,社区早在5-6 年前就开始在K8 上进行Flink 的工作。例如,K8s 支持对于Flink 非常有用。部署独立于Hadoop。只要有K8s,Flink就可以无依赖部署。运维方案也非常规范,K8s运维系统也处理Flink的运维。同时,Flink 还可以基于容器进行部署,赋予Flink 很大的隔离性,比如任务之间的分离、多租户管理等,让下一步走向Serverless 变得更加自然和轻松。

在云原生发展趋势下,适应性非常重要。提高资源弹性意味着业务波动更加灵活,云上资源海量,用户可以根据业务需求持续灵活调整资源规模。特别是在无服务器环境中,用户甚至不必考虑机器的资源。 Flink 本身也会有更多的自适应功能,用于自动化任务并发管理和状态数据管理,让Flink 更好地利用云上的灵活机制。

Apache Flink 正在快速发展,成为庞大的大数据分析生态系统中不可或缺的一部分,并逐渐成为企业数据战略的关键支柱。然而,对于一些传统企业来说,如果没有强大的大数据技术团队,利用开源软件搭建数据分析平台仍然很困难。因此,提供产品化服务、降低技术门槛是阿里云Flink技术团队正在努力的方向。

阿里云发布了云原生实时计算Flink产品,提供了以Flink SQL为核心的开发和运维平台。它将阿里巴巴内部积累的Flink运维经验和企业级能力带到了大众面前。大多数中小企业提供实时数据仓储、实时数据集成、实时风控、实时特征工程等解决方案,帮助数字化企业加速大规模数据的实时升级。数据技术。

此外,阿里云提供的Flink产品还采用了前沿的Serverless架构,让用户只需按需购买计算资源即可轻松运行Flink,让实时计算更加全面可用。莫文表示,未来几个月,基于Flink 的多云PaaS Serverless 服务也将在全球公开测试,阿里云将支持Flink 社区的持续创新,并表示愿意进一步推广Flink。核心研发团队。将技术生态系统推向世界。

云原生时代的 Flink

王峰(绰号“莫文”),阿里巴巴研究员。 2006年从北航毕业后加入阿里巴巴。他目前是开源大数据平台阿里云的负责人,也是一家大公司的副董事长。阿里巴巴开源委员会数据与人工智能方向。 2015年,基于Flink的Apache Flink在国内崭露头角,阿里巴巴大数据起到了标杆效应,推动了Flink在全球各行业的快速采用和发展。 Flink 已经成为数据实时计算事实上的标准,并享誉全球。阿里巴巴积极拥抱开源,积极为开源做出贡献。迄今为止,阿里巴巴已向外界发布了数百个优秀项目,GitHub上的star总数超过100万。

采访嘉宾简介

Flink Forward 是Apache Flink 社区的官方技术会议,由Apache 官方背书。参加会议,了解Flink 社区的最新动态和规划,并获得实际生产经验。以Flink生态为核心的国内外领先厂商的参与,是Flink开发者和用户不容错过的盛会。今年的Flink Forward Asia 正在进行现场直播。点击阅读原文或扫描图片上的二维码。

1daa38f7ab0b4db0b73cf82fec797861~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730156991&x-signature=YBX7ZfDlGlVq5juAabYKyDG%2F8W8%3D

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢