【译】Flink Network Stack Vol. 2: Monitoring, Metrics, and that Backpressure Thing

  • 2019 年 10 月 4 日
  • 筆記

在之前的博文中,我们介绍了Flink的网络堆栈如何从高级抽象到低级细节。 此系列网络堆栈帖子中的第二篇博客文章扩展了这一知识,并讨论了监视与网络相关的指标,以识别诸如背压或吞吐量和延迟瓶颈等影响。 虽然这篇文章简要介绍了如何处理背压,但未来的帖子将进一步研究调整网络堆栈的主题。 如果您不熟悉网络堆栈,我们强烈建议先深入阅读网络堆栈然后继续。

监控

网络监控中最重要的部分可能是监控背压,这种情况下系统接收的数据速率高于处理速度¹。这种行为将导致发送者受到压力,可能由两件事引起:

  • 接收器很慢。

这可能是因为接收器本身是背压,无法以与发送方相同的速率继续处理,或者被垃圾收集,缺少系统资源或I / O暂时阻止。

  • 网络渠道很慢。

即使在这种情况下接收器没有(直接)涉及,我们称发送器为背压,因为在同一台机器上运行的所有子任务共享的网络带宽可能超额预订。请注意,除了Flink的网络堆栈之外,可能还有更多的网络用户,例如源和接收器,分布式文件系统(检查点,网络附加存储),日志记录和指标。之前的容量规划博客文章提供了更多见解。

1如果您不熟悉背压以及它与Flink的交互方式,我们建议您阅读2015年关于背压的博客文章。

原文连接https://flink.apache.org/2019/07/23/flink-network-stack-2.html