我想实现一个功能,需要Kafka队列暂停和恢复,我想知道的是,是否有任何时间限制,它可以暂停?
Kafka并没有真正的"队列",一个主题中的所有消息都是供消费者消费的。您的消费者可以以他们喜欢的方式消费消息,消费者可以从头开始或从他们想要的任何偏移量开始消费消息,他们也可以根据需要停止和恢复。当消费者消费消息时,它可以将偏移量提交回Kafka,如果消费者死亡,当它返回时,它将从最后提交的消息开始。
如果你想要轮询一堆消息并在很长一段时间内对它们做一些事情,Kafka消费者有一个配置max.poll.interval.ms,在默认是5分钟. 如果您希望消费一条消息并使用它做一些事情超过5分钟,您应该增加该配置,否则消费者组将认为您的消费者已经死亡,并将重新平衡分区。