如何解决生产环境 Flink 应用的技术难题?

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 更好地释放 Flink 的强大算力,需要解决哪些问题?如何进行技术选型?针对业务的特点如何进行相应改进? 实践过程中需要规避哪些坑?

大数据时代,数据已成为国家基础性战略资源。如何挖掘数据无穷潜力,将算力推至极致,是整个社会面临的难题。

Apache Flink 作为业界公认的领先的大数据计算引擎,不仅仅局限于做流处理,而是一套兼具流、批、机器学习等多种计算功能的大数据引擎。从2015年承载搜索和推荐实时化开始,近年来 Flink 已经覆盖实时数仓、机器学习、风控等多个实时计算场景。不仅拥有全球领先的实时计算规模,Flink 还可以提供高吞吐低延时的优异实时计算能力,支持海量数据的亚秒级快速响应,能够帮助企业和开发者迅速实现数据算力升级。

议程上线.jpg

更好地释放 Flink 的强大算力,需要解决哪些问题?如何进行技术选型?针对业务的特点如何进行相应改进? 实践过程中需要规避哪些坑?

12月13-15日,Flink Forward Asia 2020 在线峰会核心技术专场,来自阿里巴巴、字节跳动、美团、领英、腾讯、第四范式先知等多位 Apache Flink 核心贡献者与一线技术专家解析 Flink 技术动向与应用实践,回归技术本质,打造 Flink 全方位技术盛宴,分享生产环境实战经验总结。

▼ 扫码了解完整大会议程 ▼

ffa官网二维码.jpg


(大会官网)

超大规模 Flink 调度优化

**胡伟华 | 字节跳动基础架构工程师
辛朝晖 | 字节跳动基础架构工程师**

在字节跳动内部,随着计算规模和单个作业并发度的增加,原有的 Flink 调度模式不能再满足。

首先在大规模集群下单机故障是不可避免的,我们需要黑名单机制来规避故障节点;其次作业规模增加导致启动时间增加,进而导致数据断流时间增加;最后在资源调度方面,希望 container 分布均匀,避免造成单机负载过高;希望分配后机器 quota 均衡避免碎片;还有就是调度时尽可能避开高 load 节点。

本次分享将介绍我们在 Flink 层面的优化以及 YARN 针对 Flink 做的优化。

1.黑名单机制
2.作业启动速度优化
3.Yarn Container 均衡调度、特性调度、反调度等

Single Task Failover and Regional Checkpoint

廖嘉逸 | Apache Flink Contributor,字节跳动基础架构工程师

在大规模实时计算场景下,环境不稳定对作业带来的影响不可忽视。在字节跳动内部,单点恢复帮助上千个双流 Join 作业保证了稳定的样本输出,Regional Checkpoint 为数据集成作业提供了 Checkpoint 成功率的保障。本次演讲将从原理、痛点、改进以及收益等方面分享这两个功能。

1.业务在 Failover 以及 Checkpoint 上遇到的痛点
2.Flink 中网络传输以及 Checkpoint 机制及缺陷
3.单点恢复和 Regional Checkpoint 改进方案及收益
4.Checkpoint 其他的优化

Flink State Backend Improvements and Evolution in the Recent Year

李钰 | Apache Flink & Apache HBase PMC Member,阿里巴巴实时计算存储引擎团队负责人
唐云 | Apache Flink Committer,阿里巴巴高级开发工程师

本次分享主要介绍 Flink 社区最近一年在 State Backend 方面的发展和改进,包含 State Backend 内存管理、RocksDB 生产可用性增强等一系列内容。

Flink 如何实时分析 Iceberg 数据湖的 CDC 数据

李劲松 | Apache Flink & Iceberg Committer,阿里巴巴技术专家
胡争 | Apache HBase PMC,Apache Iceberg Committer,阿里巴巴技术专家

大型企业一般都有海量的结构化数据存储在 MySQL 这样的关系型数据库中,采用离线批处理分析的方式已经无法提供更好的实时性。在云服务的大浪潮之下,数据湖也正在成为一个越来越热门的技术方向。

那么,我们如何在数据湖架构下为 CDC 数据提供更佳的实时性呢?本次分享将介绍我们如何基于 Flink+Iceberg 技术架构来构建实时的 CDC 数据湖。分享主要分为以下几点:

1.处理 CDC 数据有何难点?业界常见的方案有哪些?
2.我们为什么选择 Apache Iceberg ? Apache Flink 处理 CDC 数据有何优势?
3.我们如何实现 CDC 数据的写入和分析实时化?
4.总结及未来规划。

基于 Flink DataStream API 的流批一体处理

马国维 | Apache Flink Contributor ,阿里巴巴实时计算执行引擎团队负责人
高赟 | Apache Flink Contributor,阿里巴巴技术专家

本次议题主要介绍 Flink 1.12 在流批一体的 DataStream API 方面所取得的进展,主要包括两部分:

1.流批一体的 DataStream API 语义:如何在同一套接口中兼容流和批的语义。
2.流批一体的 Runtime 的实现:Flink Runtime 在调度、Shuffle、Connector 和算子等各方面为流和批两种执行模式提供了统一的支持。

Flink SQL 在字节跳动的优化&实践

**李本超 | Apache Flink Committer,字节跳动架构研发工程师
**
1.介绍 Flink SQL 在字节跳动落地的过程
2.介绍字节跳动内部对于 Flink SQL 的一些扩展和优化
扩展支持多种 connector/formats
window 支持 mini batch
Temporal table function 支持 DDL、left outer join、慢流 watermark 更新
延迟维表 join
新增聚合指标允许从 checkpoint 恢复
支持 codegen 代码生成自动 split 超过64k长度的代码
3.介绍字节跳动基于 Flink SQL 的批流统一的探索
4.介绍字节跳动基于 Flink SQL 提供的实时计算平台

Flink 1.12 资源管理新特性

宋辛童 | Apache Flink Committer,阿里巴巴技术专家
郭旸泽 | Apache Flink Contributor,阿里巴巴高级开发工程师

本次演讲中,我们将介绍 Flink 1.12 中资源管理方面的新特性。包括:托管内存的使用方法(RocksDB、Python、内置 Batch 算法)、资源调度策略优化、扩展资源支持(GPU、FPGA)。

我们将介绍这些新特性的适用场景及使用方法,并进行 demo 演示。在演讲的最后,我们还将简要介绍 Flink 社区对未来版本中资源管理方面新特性的规划。

基于 LLVM 的高性能 Flink Native 执行引擎应用实践

陈迪豪 | 第四范式先知平台架构师

介绍基于 C++ 和 LLVM 实现的高性能 Flink Native 执行引擎,相比于 Flink 原生 Java 和 Scala 的物理计划实现,在 Flink SQL 部分场景达到惊人的60倍性能提升,对于离线不支持的 SQL 语法如 over window 等也能拓展支持。基于超高性能的 Native 执行引擎,介绍 Flink 在企业机器学习场景的落地与实践。

美团 Flink 可用性建设实践

孙梦瑶 | 美团高级开发工程师

基于美团的实际需求与实践,对“可用性”概念在实时计算领域的意义与基本定义进行探讨,介绍美团在 Flink 可用性建设上的解决方案与实践经验。具体分为:

1.可用性对实时计算的意义;
2.实时作业可用性定义与衡量;
3.Flink 在容错容灾上的设计;
4.可用性优化方案与实践。

PyFlink 核心技术剖析及应用

付典 | Apache Flink PMC member, 阿里巴巴技术专家

本次演讲全面剖析 PyFlink 的核心技术,涉及到 PVM 如何与 JVM 进行通讯,PyFlink 如何基于 Apache Beam 构建 Python UDF 的支持,PyFlink 与 Pandas 的集成核心细节,以及 PyFlink 在 1.12 与大家见面的新功能,包括 Python DataStream API,process function,Timer 等的具体功能应用。

Flink SQL 的功能扩展与深度优化

杜立 | 腾讯资深工程师

随着Apache Flink在近几年的加速发展,越来越多的用户已将Apache Flink作为实时数据处理引擎的首选。Flink SQL作为Apache Flink的核心模块之一,极大降低了不同背景的用户在接入和使用Flink时的门槛。腾讯在内部应用过程中,针对现有的Flink SQL功能进行了大量的扩展与优化,包括基于Table Valued Function语法扩展在Window算子上更复杂的操作、Flink Retraction机制优化,等。该演讲将重点与听众分享这些扩展与优化的实现思路与技术细节,介绍腾讯内部的实践情况,以及现有的挑战与未来的规划。

从 Spark 做批处理到 Flink 做批流一体:LinkedIn 的经验

张晨娅 | LinkedIn 高级研发工程师

为什么要做批流一体?我们从用户和运维角度出发希望进一步提高生产和工程效率。我们挑选了两类生产实践的重要场景进行评估,一个是机器学习的特征生成,一个是复杂数据工作流。其中着重对比分析了 Spark 和 Flink 做批处理的迁移难度、用户体验和工程表现。同时根据领英目前 Spark 做批处理的使用情况和特点,我们针对Spark 和 Flink 两个框架的资源调度和利用情况进行了分析比较,也提出关于 shuffle service 的几点建议。

以上为 Flink Forward Asia 2020 在线峰会核心技术专场内容节选,全球 38+ 一线厂商,70+ 优质议题,我们在 Flink Forward Asia 在线峰会等你~

了解更多大会详情及直播回放:
https://developer.aliyun.com/topic/ffa2020/live

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
3月前
|
分布式计算 数据处理 Apache
Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
【10月更文挑战第10天】Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
374 1
|
14天前
|
消息中间件 JSON 数据库
探索Flink动态CEP:杭州银行的实战案例
本文由杭州银行大数据工程师唐占峰、欧阳武林撰写,介绍Flink动态CEP的定义、应用场景、技术实现及使用方式。Flink动态CEP是基于Flink的复杂事件处理库,支持在不重启服务的情况下动态更新规则,适应快速变化的业务需求。文章详细阐述了其在反洗钱、反欺诈和实时营销等金融领域的应用,并展示了某金融机构的实际应用案例。通过动态CEP,用户可以实时调整规则,提高系统的灵活性和响应速度,降低维护成本。文中还提供了具体的代码示例和技术细节,帮助读者理解和使用Flink动态CEP。
317 2
探索Flink动态CEP:杭州银行的实战案例
|
6月前
|
存储 监控 大数据
阿里云实时计算Flink在多行业的应用和实践
本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时计算在各行业的应用实践,对回归实时计算的重点场景进行介绍以及企业如何使用实时计算技术,并且提供一些在技术架构上的参考建议。
884 7
阿里云实时计算Flink在多行业的应用和实践
|
4月前
|
消息中间件 资源调度 API
Apache Flink 流批融合技术介绍
本文源自阿里云高级研发工程师周云峰在Apache Asia Community OverCode 2024的分享,内容涵盖从“流批一体”到“流批融合”的演进、技术解决方案及社区进展。流批一体已在API、算子和引擎层面实现统一,但用户仍需手动配置作业模式。流批融合旨在通过动态调整优化策略,自动适应不同场景需求。文章详细介绍了如何通过量化指标(如isProcessingBacklog和isInsertOnly)实现这一目标,并展示了针对不同场景的具体优化措施。此外,还概述了社区当前进展及未来规划,包括将优化方案推向Flink社区、动态调整算子流程结构等。
444 31
Apache Flink 流批融合技术介绍
|
5月前
|
Cloud Native 安全 调度
Flink 新一代流计算和容错问题之Flink 通过云原生技术改进容错设计要如何操作
Flink 新一代流计算和容错问题之Flink 通过云原生技术改进容错设计要如何操作
|
6月前
|
存储 算法 物联网
海量数据实时计算利器:深入探索Tec(一个假设性技术框架)
总之,Tec作为海量数据实时计算利器,在推动数字化转型、提升业务效率、保障数据安全等方面发挥着重要作用。随着技术的不断进步和应用场景的不断拓展,Tec的未来发展前景将更加广阔。
|
5月前
|
机器学习/深度学习 监控 Serverless
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
|
5月前
|
机器学习/深度学习 监控 大数据
Serverless 应用的监控与调试问题之Flink在整个开源大数据生态中应该如何定位,差异化该如何保持
Serverless 应用的监控与调试问题之Flink在整个开源大数据生态中应该如何定位,差异化该如何保持
|
5月前
|
存储 监控 Serverless
Serverless 应用的监控与调试问题之Pravega和Flink实现端到端的auto-scaling要如何操作
Serverless 应用的监控与调试问题之Pravega和Flink实现端到端的auto-scaling要如何操作
|
5月前
|
SQL 监控 大数据
Serverless 应用的监控与调试问题之Flink流式数仓对于工商银行的数据链路要如何简化
Serverless 应用的监控与调试问题之Flink流式数仓对于工商银行的数据链路要如何简化

相关产品

  • 实时计算 Flink版