Можешь объяснить, как осуществляется распределение партиций в Kafka между узлами кластера?
В Kafka партиции топика распределяются между брокерами (узлами кластера) для обеспечения масштабируемости и отказоустойчивости.
Читать ответПодготовка к интервью
22 вопроса с ответами по теме «Kafka: партиции и consumer groups»
Что проверяют на интервью
Проверьте понимание назначения партиций, порядка событий и управления смещениями. Практические вопросы охватывают отставание потребителей, частые ребалансировки и изменение числа партиций.
Каталог
В Kafka партиции топика распределяются между брокерами (узлами кластера) для обеспечения масштабируемости и отказоустойчивости.
Читать ответКонсюмер Kafka получает сообщения из топика, подписываясь на определённые партиции. Он читает сообщения последовательно, начиная с определённого offset — позиции в партиции.
Читать ответВ Kafka можно увеличить число партиций у существующей темы, но это не всегда просто и может привести к проблемам:
Читать ответПри ребалансировке консьюмеров в Kafka происходит перераспределение партиций между ними. Это необходимо, например, при добавлении или удалении консьюмеров из группы.
Читать ответВ Apache Kafka нет жесткого ограничения на максимальное число партиций для одного топика, связанного с количеством брокеров. Теоретически, можно создать очень большое число партиций, даже превышающее число брокеров.
Читать ответПри настройке Kafka Consumer в Java обычно задают следующие ключевые параметры:
Читать ответЕсли у вас 3 инстанса сервиса-консьюмера, обновляющего цены товаров в Kafka, чтобы избежать race condition, нужно обеспечить, что каждое сообщение обрабатывается ровно одним инстансом и обновления не конфликтуют.
Читать ответКлюч партиционирования в Kafka нужен для определения, в какую партицию топика попадёт конкретное сообщение. Это важно для обеспечения порядка сообщений с одинаковым ключом и балансировки нагрузки между партициями.
Читать ответВ Apache Kafka сообщения направляются в топики, а потребители (Consumers) читают их из этих топиков.
Читать ответРебалансировка в Kafka — это процесс перераспределения партиций между консюмерами внутри группы потребителей.
Читать ответВ Apache Kafka можно напрямую указать номер партиции при отправке сообщения, минуя использование ключа для хеширования.
Читать ответLag в Kafka — это отставание потребителя от последнего оффсета в партиции. Накопление lag означает, что потребитель не успевает обрабатывать сообщения с той же скоростью, с которой они поступают.
Читать ответ