Как я могу запросить у потребителя более 1 МБ записей из Kafka

#apache-kafka #kafka-consumer-api

#апач-кафка #kafka-consumer-api

Вопрос:

Всякий раз, когда мой потребитель запрашивает новый пакет из Kafka, он всегда запрашивает 1 МБ данных, затем, похоже, запрашивает следующий 1 МБ и так далее. Кто-нибудь знает, какие шаги по настройке и программированию необходимы для получения пакетов по 20 МБ?

Ответ №1:

Вы можете установить свойство max.partition.fetch.bytes в потребительских свойствах на желаемое значение (по умолчанию 1 МБ).

Кроме того, это значение должно быть равно или больше max.message.size свойства в конфигурации брокера, чтобы быть уверенным, что ваши потребители смогут читать все сообщения, принятые брокером.

Наконец, если обработка 20 МБ занимает слишком много времени, вы можете увеличить session.timeout.ms настройку у потребителя (по умолчанию 3 секунды), чтобы брокер не подумал, что ваш потребитель мертв, и не вызвал перебалансировку.