Sobes.tech
Senior

Šta će se desiti sa particijama ako se jedan od tri potrošača zaglavi? Šta će se desiti ako se on odblokira?

sobes.tech АИ

Одговор од АИ

Если один из трёх консьюмеров зависает, то поведение с партициями зависит от системы и настроек:

  • В Kafka, например, партиция может быть назначена только одному активному консьюмеру в группе. Если консьюмер завис, то партиции, которые он обрабатывал, не будут обработаны, пока не произойдёт ребалансировка.
  • Обычно система обнаруживает, что консьюмер не отвечает (через heartbeat timeout), и инициирует ребалансировку — партиции перераспределяются между оставшимися активными консьюмерами.

Если зависший консьюмер "развиснет" и снова начнёт отвечать:

  • Он снова войдёт в группу, и может получить обратно партиции при следующей ребалансировке.
  • В некоторых системах возможны конфликты или дублирование обработки, если не настроена идемпотентность.

Таким образом, зависание консьюмера приводит к временной недоступности обработки его партиций, а восстановление — к повторному присоединению и перераспределению нагрузки.