Как при многопоточном чтении одного топика быть с consumer group?

Для разделения партиций несколько consumers обычно включают в одну group. В классической consumer group одна партиция назначена одному consumer; один KafkaConsumer не следует произвольно использовать из разных потоков.

Короткий ответ

Что ответить на собеседовании

Для разделения партиций несколько consumers обычно включают в одну group. В классической consumer group одна партиция назначена одному consumer; один KafkaConsumer не следует произвольно использовать из разных потоков.

Подробный разбор

Ответ с пояснениями

Для разделения партиций несколько consumers обычно включают в одну group. В классической consumer group одна партиция назначена одному consumer; один KafkaConsumer не следует произвольно использовать из разных потоков.

Можно выделить consumer на поток либо один поток poll и отдельную обработку, аккуратно согласуя offsets и порядок. Число полезно читающих consumers ограничено количеством партиций. Разные groups получают независимое чтение топика, а не делят одну работу. При параллельной обработке нельзя фиксировать offset раньше завершения более ранних сообщений той же партиции, если требуется избежать потерь.

Источник: Документация Apache Kafka.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее