flink job遇到一定卡顿如何跳过kafka历史数据?

How to skip kafka history data in flink job if certain lag is encountered?

有时由于一些外部问题,我们会遇到 kafka 消费者延迟。

Flink 作业总是会使用 exactly-once 语义消费 kafka 历史(延迟数据),但这里有一个场景:

当kafka消费者滞后过大时,我们会跳过延迟数据,让我们的下游服务及时得到最新的数据。 我正在考虑设置一个 window 时间段来完成它。我应该为它编写什么代码?

您可以停止 Flink 作业并使用来自 Kafka 的 kafka-consumer-groups CLI 向前寻找消费者组(假设 Flink 正在使用一个,而不是维护偏移量本身)

当作业重新启动时,它将从新的偏移位置开始

我会说你最不痛苦的选择是始终阅读所有消息,但不要处理(尽快丢弃它们)你想跳过的消息。不做任何进一步处理只读和丢弃真的很快。