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 正在使用一个,而不是维护偏移量本身)
当作业重新启动时,它将从新的偏移位置开始
我会说你最不痛苦的选择是始终阅读所有消息,但不要处理(尽快丢弃它们)你想跳过的消息。不做任何进一步处理只读和丢弃真的很快。
有时由于一些外部问题,我们会遇到 kafka 消费者延迟。
Flink 作业总是会使用 exactly-once 语义消费 kafka 历史(延迟数据),但这里有一个场景:
当kafka消费者滞后过大时,我们会跳过延迟数据,让我们的下游服务及时得到最新的数据。 我正在考虑设置一个 window 时间段来完成它。我应该为它编写什么代码?
您可以停止 Flink 作业并使用来自 Kafka 的 kafka-consumer-groups
CLI 向前寻找消费者组(假设 Flink 正在使用一个,而不是维护偏移量本身)
当作业重新启动时,它将从新的偏移位置开始
我会说你最不痛苦的选择是始终阅读所有消息,但不要处理(尽快丢弃它们)你想跳过的消息。不做任何进一步处理只读和丢弃真的很快。