Встречается на собеседованиях • сегодня
Как увеличить производительность обработки Topic в Kafka работой с очередью двух Consumer
Для увеличения производительности обработки топиков Kafka с двумя консьюмерами можно использовать следующие подходы:
- Партиционирование - увеличьте количество партиций в топике (минимум 2), чтобы каждый консьюмер мог обрабатывать свою партицию параллельно:
java
// Создание топика с 2 партициями
adminClient.createTopics(Collections.singleton(
new NewTopic("my-topic", 2, (short) 1)));- Группы консьюмеров - оба консьюмера должны быть в одной группе:
java
props.put("group.id", "my-consumer-group");- Оптимизация параметров:
- Увеличьте
fetch.min.bytesиfetch.max.wait.msдля более крупных батчей - Настройте
max.poll.recordsдля обработки большего количества сообщений за один poll - Используйте
enable.auto.commit=falseи ручной коммит после обработки
-
Балансировка нагрузки - убедитесь, что партиции равномерно распределены между консьюмерами (можно проверить через
kafka-consumer-groupsCLI). -
Параллельная обработка внутри каждого консьюмера с помощью потоков, но с учетом порядка сообщений в партиции.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы