你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Flink从入门到精通100篇(二十二)- Flink应用实战案例:如何实现网络流控与反压机制

2021/12/10 6:02:22

目录

  • Flink 流处理为什么需要网络流控?

  • Flink V1.5 版之前网络流控介绍

  • Flink V1.5 版之前的反压策略存在的问题

  • Credit的反压策略实现原理,Credit是如何解决 Flink 1.5 之前的问题?

  • 对比spark,都说flink延迟低,来一条处理一条,真是这样吗?其实Flink内部也有Buffer机制,Buffer机制具体是如何实现的?

  • Flink 如何在吞吐量和延迟之间做权衡?

Flink 流处理为什么需要网络流控?

分析一个简单的 Flink 流任务,下图是一个简单的Flink流任务执行图:任务首先从 Kafka 中读取数据、 map 算子对数据进行转换、keyBy 按照指定 key 对数据进行分区(相同 key 的数据经过 keyBy 后分到同一个 subtask 实例中),keyBy 后对数据接着进行 map 转换,然后使用 Sink 将数据输出到外部存储。

众所周知,在大数据处理中,无论是批处理还是流处理,单点处理的性能总是有限的,我们的单个 Job 一般会运行在多个节点上,多个节点共同配合来提升整个系统的处理性能。图中,任务被切分成 4 个可独立执行的 subtask( A0、A1、B0、B1),在数据处理过程中,就会存在 shuffle(数据传输&#