Как в Java/Spring-приложении увеличить количество consumer-ов в одной consumer group, в том числе в рамках одного pod?

В Spring Kafka увеличивают concurrency listener-контейнера либо число pod с одинаковым group.id. Внутри одного pod concurrency создаёт несколько consumers.

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

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

В Spring Kafka увеличивают concurrency listener-контейнера либо число pod с одинаковым group.id. Внутри одного pod concurrency создаёт несколько consumers.

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

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

В Spring Kafka увеличивают concurrency listener-контейнера либо число pod с одинаковым group.id. Внутри одного pod concurrency создаёт несколько consumers.

Настройку задают в ConcurrentKafkaListenerContainerFactory или непосредственно @KafkaListener. Полезный параллелизм ограничен доступными партициями и ресурсами downstream: лишние consumers могут простаивать. Учитывайте нагрузку на БД, порядок внутри партиции и стоимость rebalance. Один KafkaConsumer не следует произвольно вызывать из нескольких потоков.

Источник: docs.spring.io.

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

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

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

Подробнее