Встречается на собеседованиях • сегодня

Что произойдет при сбое Leader replica в Kafka

При сбое лидера (Leader replica) в Kafka кластере автоматически запускается процесс переизбрания нового лидера из оставшихся синхронизированных реплик (ISR - In-Sync Replicas).

  1. Выбор нового лидера: Контроллер (один из брокеров) выбирает новую реплику из ISR с наибольшим offset (наиболее актуальные данные).
  2. Временная недоступность: Пока идет переизбрание, партиция может быть временно недоступна для записи/чтения (обычно миллисекунды).
  3. Автоматическое восстановление: После выбора нового лидера клиенты автоматически перенаправляются к нему.

Пример кода для проверки ISR:

python
from kafka.admin import KafkaAdminClient, NewTopic

admin = KafkaAdminClient(bootstrap_servers="localhost:9092")
topic = "test_topic"
partitions = admin.describe_topics([topic])[0]["partitions"]
for p in partitions:
    print(f"Partition {p['partition']}: Leader {p['leader']}, ISR {p['isr']}")

Нюансы:

  • Если нет реплик в ISR, партиция останется недоступной до восстановления реплик.
  • Настройки unclean.leader.election.enable (по умолчанию false) запрещают выбор несинхронизированных реплик, чтобы избежать потери данных.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы