如何分析和治疗Flink背压?

互联网上有很多关于Flink的背压机制的博客。中国博客推荐这两篇文章1。

简而言之,Flink拓扑中每个节点(任务)之间的数据都是在阻塞队列中发送的。如果由于下游消耗延迟而导致队列已满,则上游生产也会被阻塞。最终导致数据源摄取

本文还关注官方博客[4],并分享作者实际分析和处理Flink背压的经验。

背压的影响

背压不会直接影响工作的可用性,表明工作不健康,存在性能瓶颈并可能导致数据处理的进一步延迟。