FFA 2021 专场解读 - 平台建设

公众号更名公告

「Flink 中文社区」更名为「Apache Flink

感谢你们的关注

▼ 关注「ApacheFlink」视频号,遇见更多大咖 ▼

FFA 2021 专场解读 - 平台建设_第1张图片

12 月 4-5 日,Flink Forward Asia 2021 重磅开启,全球 40+ 多行业一线厂商,80+ 干货议题,带来专属于开发者的技术盛宴。

其中,平台建设专场由来自字节跳动、腾讯新闻、网易、小红书、京东、滴滴、bilibili、汽车之家、移动、联通、BIGO、蚂蚁金服、翼支付的技术专家分享基于 Apache Flink 的实时计算平台演进与实践。

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

FFA 2021 专场解读 - 平台建设_第2张图片

(大会官网)

FFA 2021 专场解读 - 平台建设_第3张图片

网易游戏 FlinkSQL 平台化实践

林小铂|网易游戏资深开发工程师

在开源领域中,Flink SQL 毫无疑问是流式 SQL 领域最为流行的框架之一,但由于 Flink SQL 缺乏类似 Hive Server2 的服务端组件,各大厂对 Flink SQL 平台化的实现方案各不相同,而本分享将介绍在网易游戏在 Flink SQL 平台化上的探索和实践。

  1. 发展历程

    网易游戏实时计算平台 Streamfly 建立于 2019 年,最初只有基于 jar 部署模式的作业平台 Lambda。Lambda 基于 Golang 为开发语言,以 Flink 命令行作为接口实现作业提交。优点是松耦合,可以轻松支持多个版本 Flink,缺点是无法调用 Flink 原生接口。因此在对 Flink SQL 进行平台化探索的时候,我们首先选了基于模板 jar 和配置中心的方式来实现,但效果不佳,后续我们改为基于 Flink SQL Gateway 来开发第二版的 Flink SQL 平台。

  2. StreamflySQL v1 (基于模板 jar)

    StreamflySQL v1 基于模版 jar 和作业配置(包括 SQL 和运行配置,比如并行度、内存等)。作业启动时,Flink Client 运行 main 函数,按配置设置好环境,并执行配置中的 SQL。这种方式的痛点如下:

  • 响应慢。每次需要 Flink Client 提交一个 YARN application。

  • 调试难。我们采用 PrintSink 到标准输出的方式采集调试输出,但延迟较大而不稳定。

  • 只能执行 DML,无法执行 DDL、DSL,与 Hive 体验相差较大。

StreamflySQL v2 (基于 SQL Gateway)

StreamflySQL v2 将 Flink SQL Gateway 集成到 SpringBoot 应用中实现 Flink SQL 的服务端,并复用 Lambda 作业平台的资源调度/认证授权/审计等能力。具体而言,StreamflySQL 调用 Lambda 新建 Flink Session Cluster,此后再直接和 Session Cluster 交互,包括 SQL 提交和作业管理等。其中遇到的挑战与解决方案:

  • 元数据持久化。将 Flink SQL Gateway 的元数据持久化到数据库。

  • 多租户。以 Hadoop proxy user 的方式支持多租户。

  • 水平拓展。令服务端尽可能无状态,因此可以部署多个实例,并使用亲和性的负载均衡策略,让同个会话的请求落到同个实例上,避免资源浪费和不能持久化的数据或状态丢失。

  • Flink SQL 作业的状态管理。实现了 Flink SQL 作业 savepoint/checkpoint 的自动恢复。

未来展望

  • Flink SQL 作业的状态迁移比较难,后续可能基于执行计划来提示用户算子状态是否兼容。

  • Flink SQL 未支持细粒度的资源管理,后续推动 Table Hints 的进度。

  • 推回 Flink SQL Gateway 的改进给社区。

联通实时计算平台演进与实践


穆纯进|联通大数据技术专家

  1. 总体背景

  • (数据来源多) 全国数据集中,日均万亿级数据,百TB级数据增量,延迟在秒级别;

  • (面向用户多) 支撑全国省分和子公司的需求,多个标准化场景和个性化场景;

  • (支撑订阅多) 支撑了生产大量复杂规则的订阅请求。

平台架构演进 - 老平台架构、问题、挑战、应急方案

  • 平台架构依赖于第三方实时计算平台,黑盒且无法灵活定制功能,不能满足日益复杂的需求;

  • 随着规则的增长,资源消耗呈线形倍数的增长,集群负载高,不能支撑日益增长的需求;

  • 过多依赖外部系统,外部系统压力持续增长,负载过高导致任务连续性无法保障;

  • 监控粒度不够,没法及时发现问题和无法高效定位,导致服务质量低下;

  • 基于 Flink 的应急方案,实现了每秒百万级数据并发关联 4 亿标签,不依赖于外部系统,延迟需在秒级,减轻集群压力, 提升系统支撑能力;使用 Flink 自定义 source 快读定位数据断传、数据积压等问题,快速发现问题。

平台架构演进 -  新平台架构、优化、监控实践

  • 全面研发基于 Flink 的实时计算平台,针对每个场景进行最优的定制化开发;

  • 最大化使用 Flink 状态,减少对外部系统的依赖;

  • 一个流任务处理多个订阅规则,且避免冗余关联,大大减少资源消耗;

  • 增加端到端监控流任务运行状态、数据断传、积压情况;

  • 增加端到端展示数据时延监控。

基于 Flink 的集群治理平台建设实践,多套集群无侵入治理实践

  • 为什么会出现这样的平台,为什么必须要无侵入;

  • 降本增效:总体集群资源使用率减低 20%,为公司节约千万级成本;

  • 存储画像:无侵入深入洞察所有目录的文件数、小文件、空文件、空目录、冷数据具体位置;

  • 作业画像:无侵入深入分析多维度作业 TOP;

  • 数据血缘画像:无侵入绘制数据血缘关系。

BIGO 使用 Flink 做 Olap 分析

及实时数仓的实践及优化


邹云鹤|BIGO Senior Engineer

主要从两个方面来介绍:

  • 一是 BIGO 将 Flink 接入 Olap 分析平台及优化,主要介绍如何将 Flink 计算引擎 接入 Olap 分析平台, 以及Flink 在语法支持,客户端提交,资源调度等方面的优化;

  • 二是 BIGO 在支持实时数仓方面的实践和优化,主要介绍 如何使用 Flink + ClickHouse 来构造实时数仓, 如何保证 exactly once, 以及在流维表 Join 上的一些优化。

Flink on K8s 在京东的持续优化实践


付海涛|京东资深技术专家

京东于 2018 年开始基于 Flink + K8s 深入打造高性能、稳定、可靠、易用的实时计算平台,支撑了京东内部多条业务线平稳度过 618、双 11 多次大促。

本次讲演将分享 Flink on K8s 在京东的优化实践,包括快速恢复能力打造、批任务优化、资源隔离、弹性伸缩等等,以及对未来的展望和规划。

State Migration and Query on Flink SQL

周伊莎|字节跳动基础架构工程师

马越|字节跳动基础架构工程师,Apache Flink Contributor

Flink SQL 作为实时数仓建设中重要的工具,在开发成本和维护成本上,相较于 DataStream API 都具有非常大的优势。在流式任务的生命周期中,状态扮演着重要角色,通过保存快照可以使任务从原有状态恢复,通过探查状态可以了解任务逻辑是否符合预期。而 SQL 作业的状态对用户来说却是完全黑盒的,用户既不能通过 SQL 代码来操控状态,也无法探知状态里到底存了什么。这导致 SQL 作业迭代时状态的迁移,任务运行时数据的探查,都难以进行。

本次分享将介绍在字节内部如何解决这两个问题:

  1. 背景

  • 业务用户开发模式调研;

  • 面临的问题。

DAG 可视化编辑支持状态恢复

  • 生成 DAG;

  • 使用 DAG 配置运行;

  • 提升易用性。

State 的离线查询

  • State as Database;

  • StateMeta 制作快照;

  • 使用 Flink SQL 查询 State。

未来规划

  • State 的修改和初始化;

  • 更多 State 应用场景的探索。

B 站基于 Flink 的多元化探索与实践


张杨|哔哩哔哩基础架构部 资深研发工程师

B 站早期的实时计算需求,主要是业务侧基于个性化定制的作坊形式。在 2019 年初引入 Flink,搭建了一套集成开发、测试、运维、监控告警完善流程的 IDE 平台。随着近 2 年的沉淀,Flink 在 B 站有了更加多元化的探索与实践,广泛辐射在 AI、增量/实时数仓、数据湖等领域。大纲:

  1. 实时计算基座建设

  • 流批一体化的算子层建设。

增量数据湖探索与实践

  • Binlog 等 Upsert 类数据的 CDC 入湖;

  • 流量型等 Append 类数据的增量化入湖;

  • HUDI ON Flink 过程中遇到的一些痛点和改进。

AI + Flink 的一体化工程落地

  • 特征工程的一致性优化;

  • 面向实验的基于 AIFlow 端到端近线训练 Pipeline。

汽车之家基于 Flink 的

实时计算平台 3.0 建设实践


邸星星|汽车之家实时计算平台负责人

汽车之家从 18 年开始探索基于 Apache Flink 支持实时计算业务,今年已经是第四个年头,期间经历了从 0 到 1、生态建设、稳定性提升、降本增效这几个阶段,本文着重介绍 AutoStream 3.0 的整体建设思路及落地实践。

  1. 应用场景与平台现状

  • 应用场景介绍;

  • 平台建设历程回顾;

  • 痛点分析;

  • AutoStream 3.0 整体介绍。

Flink 预算资源管控策略

  • 背景介绍;

  • 开启预算强控机制;

  • 如何识别低利用率任务;

  • 运营机制;

  • 收益。

Flink 任务的快速伸缩容

  • 背景介绍;

  • 原理与架构设计;

  • 引入 RescaleCoordinator;

  • 伸缩容接口;

  • 智能伸缩容策略;

  • 收益。

Flink + Iceberg 数据湖实践

  • 背景介绍;

  • 原理与架构;

  • Iceberg 集成;

  • Iceberg Upsert 核心设计;

  • Iceberg Upsert 应用实践;

  • 其他实践;

  • 收益。

PyFlink 实践

  • 背景介绍;

  • 原理与架构;

  • Native on k8s;

  • Catalog 与 UDF;

  • 依赖管理;

  • 案例演示;

  • 收益。

后续规划

腾讯新闻基于 Flink + PipeLine

模式的应用与实践


罗强|腾讯新闻商业化数据工程师

  1. 项目应用背景介绍

    介绍腾讯新闻从原有 Storm 迁移到 Flink 平台的背景、目前实时计算在腾讯商业化数据中应用的场景。

  2. 项目架构设计介绍及实践经验分享

  • 介绍基于 Oceanus (Flink)、Tube (消息中间件)、灯塔 (数据分析平台)、Redis、Mysql、Impala等构建的实时数据应用架构;

  • 分享 pipeline 模式设计思想提高模块复用以及流操作技术;

  • 介绍在系统高可用上做的工作如告警,重试机制等。

未来规划

滴滴基于 Flink 的

数据通道优化与实践


薛康|滴滴出行实时数据引擎和 OLAP 团队负责人

滴滴的数据通道经过多年发展,已经进化为基于大数据体系、一体化的采集与投递服务,目前承接了所有的服务采集日志、业务埋点日志、业务 binlog 等数据,用于监控、日志诊断、离线数仓等重要下游业务。目前所有数据都通过 Flink 传输,为了应对海量数据稳定、及时、低成本的传输,我们也做了大量优化和最佳实践的探索。

本次演讲将介绍我们在通道上所做的优化和未来的发展方向,希望对大家有帮助。

Flink 在移动云实时计算的实践


谢磊|移动软件开发工程师

大数据的高速发展已经超过 10 年,也正在向更加实时化的趋势演进,中国移动集团上网信令数据目前日均超 8PB,实时流计算在其中扮演重要角色,应用于消息传输、清洗,数据报表,实时用户画像等各类应用场景。本次分享将介绍移动云在实时平台构建方面的一些思考,以及数据处理的实践经验。主要介绍四个方面:

  1. 主要介绍实时计算平台构建中一些核心设计,包含整体平台架构设计,作业任务的稳定性与监控,作业任务多版本兼容的设计,以及支持用户在线实时查询作业日志的功能,同时会介绍 FlinkSQL 在实时数据采集、分拣的实践与应用。

  2. 主要分析中国移动信令实时数据处理架构的优化,主要包含数据采集模块使用 Flink 代替 Flume 的一些实践,Kafka 客户端在发送海量数据时遇到的性能瓶颈以及优化,并介绍如何利用 Flink 结合 aviator 做数据的动态分拣。

  3. 主要介绍关于作业稳定性建设方面的实践,包含关键案例分析,例如 FLINK-10052 的网络容忍性问题,以及一些需要注意的关键点等。

  4. 主要介绍实时计算在移动云的未来发展与挑战。

Apache Flink 在翼支付的实践应用


曹劼|翼支付高级大数据工程师

尹春光|翼支付高级大数据工程师

翼支付在金融大数据业务中经过多年的探索和实践,形成了一套以 Apache Flink 实时计算为处理基座,智能决策为核心的先鉴-企业智能决策系统,赋能公司营销、风控、运营等业务实时决策,驱动业务高质量发展。

议题主要介绍在业务发展过程中,系统基于业务的架构演进过程以及 Flink 配置指标方案、基于 Flink 全链路决策监控 、复杂决策场景的优化、基于 Flink 计算引擎数据一致性和系统容错方案等实践经验。

蚂蚁实时计算实践


闵文俊|阿里巴巴技术专家,Apache Flink contributor

蚂蚁金服实时计算引擎建设,分享主要分为三个部分:

  1. 蚂蚁大规模云化实践。主要包含资源效能与云原生体验、稳定性提升、集群模式的拓展;

  2. SQL 算子与运行时优化。主要包含实时特征场景下多滑窗算子优化、timer 优化、SQL 语义扩展;

  3. 未来展望。

网易云音乐

实时场景应用及优化实践


赵荣生|网易云音乐资深平台工程师,Apache Spark/Pulsar Contributor

本次分享基于网易云音乐实时计算平台相关工作进行整理,主要分为五部分:

  1. 平台现状及问题

  2. 实时数仓之分区流表

  3. 日志中台之动态分发

  4. 平台的其他优化工作

  5. 未来规划

第一部分:云音乐实时计算平台现状及遇到的问题;

第二部分:基于实时数仓遇到的问题,设计并实现分区流表,节约 10 倍以上资源开销,显著提升任务稳定性,介绍分区流表相关概念、原理及应用情况;

第三部分:动态日志分发及校验,实现业务无感知变更,提升分发稳定性和时效性;

第四部分:介绍平台的其他工作,包括流批一体整合工作(流批平台/元数据/udf/模型的统一)、Kafka 镜像服务、source rebalance key 等;

第五部分:未来在易用性、稳定性及高效性方面的工作规划,包括流批一体场景、日志中台、自动化运维、监控告警、数据湖场景试用等。

Native Flink on K8S 在小红书的实践

何军|小红书数据流团队资深研发工程师

小红书内部多年前开始就使用 Flink 建设实时业务。因为小红书本身就是建设在多云的环境之上,使用 Flink 之初就是在 K8S 之上搭建 Flink 集群的。最初是通过 Helm 来进行 Flink 任务的管理。不过随着业务的发展,Flink 任务越来越多,基于 Helm 的这套任务管理方式也遇到了比较多的问题;随着 Native Flink on K8S 功能的完善,我们也将内部任务的管理方式进行重构,以稳定支撑内部实时业务的发展。

本次分享会介绍小红书基于 K8S 管理 Flink 任务的建设过程,以及往 Native Flink on K8S 方案迁移过程的一些实践经验。


以上为 Flink Forward Asia 2021 平台建设专场内容节选,了解更多大会详情可扫描下方二维码。

FFA 2021 专场解读 - 平台建设_第4张图片

Flink Forward Asia 2021 赞助与合作

FFA 2021 专场解读 - 平台建设_第5张图片


首届 Flink Forward Asia Hackathon 正式启动,10W 奖金等你来!

欢迎进入赛事官网了解详情:

https://www.aliyun.com/page-source//tianchi/promotion/FlinkForwardAsiaHackathon

FFA 2021 专场解读 - 平台建设_第6张图片

更多 Flink 相关技术问题,可扫码加入社区钉钉交流群~

FFA 2021 专场解读 - 平台建设_第7张图片

▼ 关注「Apache Flink」,获取更多技术干货 ▼

 FFA 2021 专场解读 - 平台建设_第8张图片  戳我,报名 FFA 2021 大会!

你可能感兴趣的:(大数据,编程语言,hadoop,数据库,人工智能)