Для разделения партиций несколько consumers обычно включают в одну group. В классической consumer group одна партиция назначена одному consumer; один KafkaConsumer не следует произвольно использовать из разных потоков.
Как при многопоточном чтении одного топика быть с consumer group?
Для разделения партиций несколько consumers обычно включают в одну group. В классической consumer group одна партиция назначена одному consumer; один KafkaConsumer не следует произвольно использовать из разных потоков.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для разделения партиций несколько consumers обычно включают в одну group. В классической consumer group одна партиция назначена одному consumer; один KafkaConsumer не следует произвольно использовать из разных потоков.
Можно выделить consumer на поток либо один поток poll и отдельную обработку, аккуратно согласуя offsets и порядок. Число полезно читающих consumers ограничено количеством партиций. Разные groups получают независимое чтение топика, а не делят одну работу. При параллельной обработке нельзя фиксировать offset раньше завершения более ранних сообщений той же партиции, если требуется избежать потерь.
Источник: Документация Apache Kafka.