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

За счет чего достигается отказоустойчивасть в Kafka

Kafka обеспечивает отказоустойчивость через репликацию и распределенное хранение данных:

  1. Репликация партиций – каждая партиция имеет несколько реплик (по умолчанию 3), распределенных между разными брокерами. Одна реплика – лидер (leader), остальные – фолловеры (followers). При падении лидера один из фолловеров автоматически становится новым лидером.
  1. Распределение данных – партиции топика распределены по кластеру, что минимизирует влияние отказа одного брокера.

  2. ISR (In-Sync Replicas) – механизм синхронизации реплик. Только реплики из ISR могут стать лидерами.

Пример конфигурации репликации:

java
// Создание топика с фактором репликации 3 и 6 партициями
Properties props = new Properties();
props.put("replication.factor", 3);
props.put("num.partitions", 6);
AdminClient.create(props).createTopics(
    Collections.singleton(new NewTopic("my_topic", 6, (short)3))
);

Дополнительно отказоустойчивость обеспечивается ZooKeeper (в старых версиях) или KRaft (в новых), которые управляют состоянием кластера и выборами лидеров.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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