Может ли потребитель Кафки быть приостановлен на определенный интервал и автоматически возобновлен после этого интервала

#apache-kafka #resume #pause

Вопрос:

Может ли потребитель кафки быть приостановлен на определенный промежуток времени, скажем, на 2 минуты, и автоматически возобновляться по истечении заданного интервала времени. Или мы можем предоставить временное окно для приостановки команды?

Ответ №1:

Да, мы используем это в течение очень-очень долгого времени обработки, и для обработки событий в клиенте кафки есть api под названием pause и resume, вам нужно помнить , что для того, чтобы ваш потребитель не умер, вы должны продолжать вызывать poll (), пауза означает, что запрос на опрос не вернет никаких новых записей, но обновит «таймеры» при запросе на опрос, когда вы захотите, вы можете вызвать резюме, а затем снова опросить,

Я не поклонник такого способа использования кафки, так как я хотел бы , чтобы кафка больше походил на потоковую машину в реальном времени, и мне почему-то показалось, что это противоречит этой логике, но это работает,

Ответ №2:

Да, у KafkaConsumer есть метод паузы. В качестве параметра он принимает набор разделов. Этот метод не влияет на подписку на разделы и не вызывает перебалансировки группы. Позже вы можете использовать метод возобновления для возобновления подписки.