From 93de36737479cf81f5660b304586cabe6c8be87e Mon Sep 17 00:00:00 2001 From: zeekling Date: Tue, 3 Jan 2023 00:19:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=BF=E9=97=AE=E6=AC=A1?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 调优/backpress.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/调优/backpress.md b/调优/backpress.md index f13ae82..e0824f5 100644 --- a/调优/backpress.md +++ b/调优/backpress.md @@ -1,5 +1,20 @@ +# 简介 + +反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中某个节点成为 +瓶颈,处理速率跟不上上游发送数据的速率,而需要对上游进行限速。由于实时计算应用通常使用消息队列来进行生产端和 +消费端的解耦,消费端数据源是 pull-based 的,所以反压通常是从某个节点传导至数据源并降低数据源(比如 Kafka +consumer)的摄入速率。 + +简单来说,Flink 拓扑中每个节点(Task)间的数据都以阻塞队列的方式传输,下游来不及消费导致队列被占满后,上游的 +生产也会被阻塞,最终导致数据源的摄入被阻塞。 + +## 反压的影响 + +反压并不会直接影响作业的可用性,它表明作业处于亚健康的状态,有潜在的性能瓶颈并可能导致更大的数据处理延迟。通 +常来说,对于一些对延迟要求不太高或者数据量比较小的应用来说,反压的影响可能并不明显,然而对于规模比较大的 +Flink 作业来说反压可能会导致严重的问题。