У тебя есть Kafka-кластер с критичным потоком событий, например для назначения курьеров или оформления заказов. Консьюмер отстаёт, lag растёт, и в пике он не успевает обрабатывать сообщения. Ты решаешь добавить партиции и увеличить число консьюмеров. Что может пойти не так при добавлении партиций в уже работающий топик? Как настраивать автоскейлинг консьюмеров, по какой метрике и почему CPU — плохой выбор?

Добавление партиций может изменить распределение ключей и нарушить порядок обработки событий одного ключа между старыми и новыми партициями.

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

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

Добавление партиций может изменить распределение ключей и нарушить порядок обработки событий одного ключа между старыми и новыми партициями.

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

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

Добавление партиций может изменить распределение ключей и нарушить порядок обработки событий одного ключа между старыми и новыми партициями.

Старые записи не перераспределяются автоматически; rebalance, перекос нагрузки и рост нагрузки на брокеры тоже важны. Масштабируйте по lag, его возрасту и скорости обработки с cooldown, учитывая лимит параллелизма партициями. CPU не отражает ожидание внешних сервисов; если bottleneck в них, дополнительные consumers могут навредить.

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

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

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

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

Подробнее