北京志远天辰科技有限公司-旗下
首页 » 新闻快递 » 行业先锋畅聊 Flink 未来 —— FFA 2021 圆桌会议(北京)

行业先锋畅聊 Flink 未来 —— FFA 2021 圆桌会议(北京)

作者:钉钉硬件分类: 新闻快递 时间:2022-1-26 15:42浏览:423次

摘要:1 月 8 日,Flink Forward Asia 2021 邀请到了几位国内外顶尖科技公司实时核算方向的负责人,举办了两场圆桌共享。本文为咱们带来北京场题为《职业前锋畅聊 Flink 未来》的圆桌共享的精彩内容。本场圆桌首要评论了三个论题:

  1. 怎么看待 Flink 与实时核算的未来?
  2. 怎么看待 Flink 与其他开源项目的联系?
  3. 怎么看待企业与开源社区之间的联系?

FFA 2021 直播回放 & 演讲 PDF 下载

img

一、怎么看待 Flink 与实时核算的未来

是否能够以为 Flink 在实时核算方面现已趋于老练?各位嘉宾眼中实时核算的未来是什么样的?间隔完成这样的未来,Flink 还需求探究哪些范畴、处理哪些问题?

王加胜:功用趋于老练,运用范畴有待扩展

我个人以为,老练有两个比较重要的标志:功用趋于完善、在中心场景下得到大规模的运用。我以为 Flink 现在在功用层面现已趋于老练,包括对实时核算和流批一体的支撑。但在运用方面,Flink 还需求推广更多的事务。期待 Flink 在更多的范畴发挥更大的作用。

董亭亭:流式核算趋于老练,流批一体仍有较大探究空间

流式核算范畴,Flink 现已是业界事实标准,是各公司流式核算选型的首选,在稳定性和易用性方面也越来越老练。作为流批一体引擎,Flink 在批处理方面仍有较大探究空间,例如动态资源调度、估测履行等才能,以及湖仓一体、OLAP 等运用场景。在这方面,社区和各公司也在活跃推动、探究,还不能说是老练的。

鞠大升:Flink 是一种趋势,未来远景会更光明

从数据处理范畴来看,Flink 现阶段现已到达了一种趋势,但还不是老练。衡量是否老练要看两个方面:从在事务运用场景的实践运用情况来看,现在 Flink 在流式处理的趋势现已到达,批式处理仍以 Spark 为主,数据湖、增量出产才刚刚起步,所以从运用视点来说,Flink 的使命任重而道远;从技能才能来说,Flink 在批处理、大状况作业履行、容灾康复等方面还有进步空间。期望 Flink 在数据处理范畴发挥更大的作用、增长出更多的才能和场景。

张光芒:流式核算场景相对老练,技能层面进一步提高

Flink 在流式核算的场景现已相对老练,在实时数仓、实时 ETL、实时机器学习都现已有大规模落地,随着 Hybrid Source、CDC connector、实时入湖入仓等技能的开源,对事务场景的掩盖面现已比较广了。但在技能层面上,还有一些需求未来进一步探究的当地,比方状况和核算的存算别离、弹性核算应对突发流量的才能、更优异的容错才能等。

王峰:流核算要走向极致,实时核算不只是流核算

大数据的全体趋势是向实时化演进,Flink 在其间充当了前锋的作用。Flink 在流处理技能方面现已走向老练,但还没有到达极致。比方,Flink 在云原生的应战下怎么动态的适配弹性扩缩容,怎么完成彻底的存算别离架构,怎么提高容错才能做到 zero downtime。我觉得在流核算方面,Flink 接下来应该朝着极致方向去演进。

实时核算这个大的概念并不等于流核算。当数据发生改变时,第一时刻感知改变、按预定逻辑进行处理,这是流核算所做的作业;同时,实时核算还有其他的形状,比方要对一批数据进行毫秒级、秒级的剖析,这仍然是实时核算的范畴。Flink 在对存量数据进行高时效剖析方面还有很大开展空间,依靠其流批一体的才能、高效的核算引擎能够完成更大场景数据的实时化。

二、怎么看待 Flink 与其他开源项目的联系

现在职业内有许多 Flink 与其他生态项目相结合的成功案例,同时 Flink 在许多方面也面临着与其他开源项目的竞赛。各位嘉宾怎么看待 Flink 与这些生态项目之间的联系?Flink 在整个开源大数据生态中应该怎么定位、怎么坚持差异化?

王峰:坚持敞开,立异开展、良性竞赛

Flink 需求坚持敞开性,这是开源系统的基本理念。咱们需求和其他的开源项目很好地协同,构成生态系统。Flink 现在现已和上下游系统有了很好的对接,经过 connector 能够衔接不同的数据库、数据仓库,部署方面也兼容了 Hadoop、Kubernetes 的生态。未来咱们需求继续坚持。

Flink 和一些生态项目之间或许会有一些 overlap,这种竞赛在我看来是偏良性的。用户需求的其实是完好、便当的体会,或许很难分清楚各个引擎组件的鸿沟。现在看到的趋势,各个生态项目都在扩展自己的鸿沟,依据自己的中心优势向前迈一步,让用户运用更便当,这是一种良性竞赛。Flink 也是相同,依据纯流式履行引擎的中心优势,能够构建流批一体的剖析才能,兼容离线的一些场景;依据 Flink SQL,能够做短查询、OLAP 剖析,做有限数据集的剖析、查询加快;Flink 接下来在流批一体的存储数据格式上也会有自己的立异,完成流批一体核算和流批一体存储的结合,完成流式数仓理念,完成一站式大数据剖析体会。

所以,我觉得各大生态之间既要坚持敞开性、能够相互集成和对接,又要有各自的立异开展,给用户更好的体会。

张光芒:协作完成一加一大于等于二

从现状来看,Flink 和其他生态项目之间更多的是协作联系。比方构建实时数仓,上游需求 Kafka,中心运用 Flink,把核算结果导入 Doris 去做实时剖析。我以为 Flink 和其他生态项目的协作,能够完成一加一大于等于二的状况。

鞠大升:正确看待竞合联系,发挥优势创造价值

协作与竞赛是开源社区经常会遇到的论题。咱们应该正确看待协作与竞赛的联系,剖析自己的优势和劣势,更好地发挥自己的优势,为用户供给更多的才能,这是十分重要的。详细到这个问题,我以为现在在业界有三块:一是 MQ 上的轻量化事件处理才能;二是类似 Kafka、Hudi 数据湖等。这些我以为是偏协作的联系,经过实时更新才能,让数仓更多地到达增量出产的才能,而不单单是批式或者流式处理的数仓;第三是 OLAP 场景,在这方面我以为确实是竞合联系。所谓竞赛,是在出产和运用这两个项目时,当其间一个的才能很强时,必定会侵占另一个的市场,这是不可防止的。而这二者不管哪个做的越来越好,都必定会给用户供给更多的价值,这是从协作的视点。比方咱们提出实时数仓,采用 Flink + Doris,他们之间是协作的联系,但在某种程度上也是竞赛的联系。

关于怎么坚持差异化的竞赛,我觉得 Flink 能够看到自己弱势的当地并加以改善。比方 Flink 的状况对用户是偏通明的,终端用户无法触达状况数据,无法剖析,在这一点上能够做的更好。

董亭亭:坚持生态交融,提高本身竞赛力

关于协作,Flink 是流批一体的核算引擎。假如要完成全链路的流批一体,除了核算引擎的流批一体,还要依靠存储引擎的流批一体。所以,Flink 能够和 Prevaga、Hudi 等存储引擎坚持很好的协作联系,和整个生态更加交融,让用户有更多的选择,也能够很好地与其他引擎配合,从而完成真正的全链路流批一体、湖仓一体建造。

关于竞赛,在核算引擎范畴,各社区确实存在一些竞赛联系。Flink 需求提高自己的竞赛力,比方在 Batch 引擎才能方面是否能和 Spark 拉齐、是否能够具有可替代性等。

王加胜:专心核算,与存储系统坚持协作联系

大数据范畴技能开展,存储核算别离更加契合未来的趋势。一方面,存储层和核算层各自迭代,速率更快,更有优势;另一方面,不管存储层仍是核算层,单一引擎长时刻内都很难支撑所有场景,仍然需求经过多个引擎来掩盖事务场景,别离的状况能够更多地满意各种场景的需求。因而,Flink 应该专心核算层面,需求和存储层面的相关项目有很好的协作联系,一同为事务供给比较好的运用体会。

Clickhouse、Doris 等项目也在做流式核算的探究,这些项目最大优势在于查询功率等方面,他们做流式核算的探究的优势是下降了用户运用的杂乱性。这些项目相关于 Flink 偏弱的是,Flink 在实时核算方面抢先比较多,关于实时核算范畴的支撑更加好。假如 Flink 在运用体会、接入门槛等方面进一步改善的话,加上其强壮的功用,仍然能够坚持十分强的竞赛力,能够掩盖更多的运用场景、衔接更多系统、支撑更多事务场景,在存储核算别离的生态中,在核算层面占有重要地位并坚持优势长期开展下去。

三、怎么看待企业与开源社区之间的联系

运用和奉献开源项目有哪些优势,过程中遇到过哪些应战?怎么看待企业内部实践立异与开源社区之间的联系?各位嘉宾所在团队都在做哪些有关 Flink 的探究,接下来有哪些规划,有哪些打算奉献社区的立异技能?

王加胜:活跃拥抱开源,探究湖仓一体、流批一体

小米关于开源的情绪是十分开通的,咱们活跃拥抱开源,以为开源有很大的优势。一方面,凭借开源的力气,咱们能经过较少的人力投入,支撑十分杂乱的事务场景,满意各种事务的杂乱需求;另一方面,经过参加开源,咱们能够和业界十分优异的工程师,一同进行技能沟通,提高自己的技能才能。

咱们现在在 Flink 方面的探究:一是结合 Flink + Iceberg 做湖仓一体的测验,期望为事务供给近实时数仓的开发和运用体会;二是流批一体方面的测验,经过 Flink 把公司内部实时集成和离线集成的技能栈做了共同。后续也会在其他方面进一步探究。咱们遇到的应战,首要来自项目的运用门槛和开发运维体会。开源项目赋予了咱们强壮的中心才能,在实践事务运用过程中,仍是要处理杂乱性问题、下降用户运用门槛,这是一个应战。

关于内部实践与开源社区的联系,我以为每家公司依据自己的特别场景和需求,依据开源的版别做一些内部特性的适配,是很有必要的。针对这些特性,全体原则是尽量不要侵蚀中心代码,防止和社区割裂导致运维困难。其他一些功用迭代开发方面,咱们坚持先到社区参加评论,吸收业界优异工程师主张,确保咱们的规划是合理的正确的,并争夺合并到社区。

董亭亭:开源有许多优势,版别跟进是应战

开源项目的优势有许多,比方咱们能够跟社区做一些沟通,遇到问题时能够吸收到很好的主意思路和规划主张,削减试错本钱;咱们还能够享受到社区代码带来的一些红利,学习社区老练的处理方案,防止重复造轮子。

曩昔一段时刻,快手在 Flink SQL 方面也和社区进行了一些协作,包括跟进、参加社区的一些功用、issue 的开发,也奉献了咱们内部自研的像渐进式窗口这样的功用。在引擎方面,咱们做了热更新模型、限流策略等在咱们内部事务运用场景上反应比较好的功用,也在和社区评论预备把这些功用奉献给社区。

咱们在跟进社区最新版其他过程中是有一些应战的。比方一些内部自研功用,不是很通用,适配咱们公司内部的一些场景需求。社区新发版别,咱们需求把这些功用 Cherrypick 到社区的版别上,在 Cherrypick 代码、推动事务晋级等方面会有额定的人力本钱。所以咱们基本上每隔一年跟进一次社区的最新版别,把内部功用合并到一同。

鞠大升:开源项目加快技能范畴的开展运用

我以为开源项目能够很好地加快一个技能或者范畴的开展和运用过程。详细来说,一家公司凭借开源项目能够很快发动在这个范畴的探究。其他,开源项目能够把相关范畴的问题集中起来,让咱们一同参加处理相关范畴的问题,促进相关范畴的问题快速迭代、快速处理,促进相关范畴的开展。这些方面的优势是十分明显的。

美团在 Flink 方面的规划基本分为三个方面:实时数仓方面,期望经过 Flink + Doris 链路,构建实时数仓开发的场景;增量数仓方面,经过 Flink + Hudi,到达近实时数据产出作用;离线场景下,期望将引擎共同到 Flink。咱们期望让事务方依据本钱、时效性选择不同场景,坚持语言和底层引擎的共同,给事务方供给这样的便当。

运用开源项目的过程中遇到的应战有两个方面:一是咱们发现开源项目普遍不太重视可运维性。可运维性更多需求结合公司内部的生态技能去做,开源社区不知道公司内部运维环境,在这方面重视比较少。这也是大部分公司在运用开源项目时第一个需求处理的困难。二是在开源项目上做的比较深入的时分,假如社区开展比较慢,公司或许是等不及的,需求做许多 Feature 甚至大版其他迭代。这是对公司的一个应战,反过来也是对社区开展速度的一个应战。

接下来,咱们或许会在 Flink 实时更新的方面做流批一体的测验,期望这些测验的方案和主意能够跟社区共享。

张光芒:企业与社区相辅相成、相互促进

字节内部针对 Flink 做了十分多的技能探究。在 SQL 方面更多的是功用方面的探究,比方延迟 join、增加聚合目标、能从 checkpoint 康复、以及内部的各种 connector。在 state checkpoint 方面咱们更多的是功能方面的探究,比方小文件聚合、state 用户可查、经过 cache 削减 RocksDB State Backend 序列化、反序列化的功能损耗。在 runtime 侧,咱们更多的是提高稳定性,比方黑名单机制、单点故障康复才能等。

我以为运用开源项目的优势是,咱们能以更少的人力投入、更短的时刻,把一套更优异的技能在内部的事务场景落地。咱们遇到的最大应战是版别晋级。社区版其他晋级迭代仍是比较快的,咱们内部积累了十分多的 feature 来不及奉献社区,每次版别晋级、事务搬迁的本钱是十分大的。

我以为内部实践和开源社区,全体上是一个相辅相成、互相促进的联系。详细来说,字节有一些上万并发的超大作业,每次重启需求花费十分钟左右,这是咱们事务无法忍受的。咱们跟社区沟通了这些问题,社区同学也跟咱们活跃对接,很快就到达了一系列的处理方案,在后续版别中处理了这些问题,将作业的重启速度提高了 2-3 倍。

未来规划:在实时核算场景,咱们会在提高弹性核算的才能、状况的存储核算别离、提高容错性这些方面做一些探究。在流批一体方面,咱们会推更多的事务,把 Flink 的优势释放出来,解放和提高事务的出产力。其他咱们在短查询方面有一些探究和落地,后续会把这方面做的一些调度功能、SQL 功能的优化回馈到社区。

王峰:推重开源技能系统与企业事务及人才培养相结合的模式

“开源” 是一个十分有热度的论题。国家规划现已提出,我国在基础的中心技能上要自主可控、开源敞开,期望国内各企业能够经过开源构成协同力气、提高国家的软件基础设施。阿里巴巴这些年对开源的拥抱是越来越活跃的,也成立了开源委员会。Apache Flink 这个项目也是一个典型代表,信任业界的公司都能感受到阿里巴巴在 Flink 开源项目上的支撑和投入。我现在所在的团队,有几十位工程师、中心技能人员是全职投入到 Flink 开源项目。

刚刚董亭亭、张光芒也提到了,快手和字节所在的流媒体职业施行事务量十分大,遇到了许多技能应战,也期望把在这种极致应战中处理的问题奉献给社区,或许受限于社区版别发布太快,无法更好的交融。在这一点上咱们的经验和主张是,期望国内头部的互联网公司能够更多地投入到开源社区的建造,让公司的工程师有更多的时刻投入到开源社区建造里。有越多的人投入,就有越多的时机发生 Committer、PMC Member,在社区就有更多时机发言、有更多时机把自己的东西推入社区,对社区的影响力也就越大,构成良性循环。也期望 Apache Flink 社区能够吸纳到更多公司的 Contributor 参加并成为 Committer,这样刚才许多问题都能够自然地在开源社区中处理。

企业内部技能实践和开源社区是十分密切的联系。咱们信任开源社区的奉献者、中心开发者,都在一家技能驱动的公司作业。开源社区中许多的主意和需求,其实是来自于各家企业、各个职业。因而,内部事务的技能实践是开源社区的源泉。此外,开源社区发布的版别,需求到各个企业、职业去实践,这也是开源项目很大的一个优势。开源项目是免费的,咱们都乐意去运用,用十分低的本钱去拓展市场。这么多用户、职业、公司、场景运用后,会给社区供给丰厚的反应。开源社区依据这些反应能够快速地迭代,然后再到各个公司去实践。这是开源项目能够快速开展并得到咱们认可的一个很好的机制。这里面也包括了技能立异,开源社区是一个枢纽,在这里咱们能够看到各个公司是怎么运用这个项目的、各个公司的问题是什么,你的立异主意也能够被其他公司运用,构成一个很好的孕育技能立异的环境。企业参加到开源社区里,依据开源敞开的技能系统,与自己的事务、人才培养结合起来,我觉得这是一个十分好的模式。