我正在使用Flink将记录从源文件转发到目的文件。源文件和接收文件是Kafka,所以数据流如下。
Kafka -> Flink -> Kafka
当我在 Jmeter 板中监控consumer lag
时,模式看起来像是稳步上升,然后在特定时间突然垂直下降到几乎为零,如下图所示。
我知道Kafka滞后的概念,但我不明白为什么在半个多小时的时间里,即使Flink毫不拖延地消耗了记录,滞后仍然在增加。
Flink的检查点设置为500ms
,所以我认为Kafka延迟应该每隔500ms或类似的间隔减少一次,但在我的例子中,延迟几乎在一个小时内减少。
我理解延迟的含义,但我不确定为什么延迟会下降很长一段时间,即使消息被消费没有延迟。
任何帮助都将不胜感激。
谢谢。
1条答案
按热度按时间68bkxrlz1#
Flink在检查点完成时提交偏移,如www.example.com上所述https://nightlies.apache.org/flink/flink-docs-stable/docs/connectors/datastream/kafka/#consumer-offset-committing
最好能验证检查点是否确实完成了。查看图表,看起来这似乎每30/45分钟发生一次。