Как правило, потребители отправляют брокеру два типа запросов:
Пульс отправляется через отдельный поток и его Интервал настроен на heartbeat.interval.ms
(по умолчанию 3 секунды)
Для запроса на опрос нет указанного интервала c, и это зависит от вашего кода. (для этого есть только верхняя граница (max.poll.interval.ms
))
Абсолютно разумно отправлять более частые запросы на опрос, если в разделе (ах) нет данных, назначенных вашему потребителю. Предположим, что у вас есть такой код:
void consumeLoop() {
while (true) {
records = consumer.poll();
if(!records.isEmpty()) {
processMessages(records);
}
}
}
Как вы видите, если из опроса не возвращаются записи, ваш потребитель немедленно отправит еще один запрос на опрос. Но если есть данные, вы должны сначала обработать эти записи перед отправкой следующего запроса на опрос.