Kafka消费者可以暂停一定的时间间隔并在间隔后自动恢复吗

问题描述

kafka 消费者是否可以暂停一段确定的时间间隔,比如 2 分钟,并在给定的时间间隔结束后自动恢复。或者我们可以提供暂停命令的时间窗口吗?

解决方法

是的,我们使用这个处理时间很长,为了处理事件,kafka 客户端中有一个名为暂停和恢复的 API,你需要记住,为了你的消费者不会死,你必须保持调用 poll() ,暂停使轮询请求不会返回任何新记录,但会刷新轮询请求的“计时器”,当您希望可以调用简历然后再次轮询时,

我不喜欢这种使用 kafka 的方式,因为我希望 kafka 更像实时流媒体机器,我觉得有点违反这种逻辑,但它确实有效,

,

是的,KafkaConsumer 有一个 pause 方法。作为参数,它需要一组分区。此方法不影响分区订阅,也不会导致组重新平衡。稍后,您可以使用 resume 方法来恢复订阅。