Какие основные компоненты Kafka?
- Из чего состоит кластер Kafka?
- Что такое KRaft?
Брокеры хранят партиции и обслуживают клиентов; клиенты — продюсеры и потребители; контроллер управляет метаданными кластера и выборами лидеров партиций — с Kafka 3.3+ на KRaft (Raft внутри Kafka), ранее через ZooKeeper.
- Kafka 4.0 работает только в режиме KRaft
- У каждой партиции лидер и реплики на разных брокерах
- Координаторы групп и транзакций — тоже на брокерах
А ещё Клиенты подключаются к bootstrap-серверам и получают карту лидеров
Подробно
Брокеры принимают и хранят данные в топиках, разбитых на партиции (партиция даёт порядок внутри себя и масштабирование). Клиенты — это producer и consumer; consumer group распределяет партиции между экземплярами приложения. Слой координации хранит метаданные кластера и выбирает лидеров партиций: в современных версиях это встроенный контроллер на протоколе KRaft, раньше — внешний ZooKeeper.
Что хотят услышать
- Роли брокеров, клиентов и контроллера.
- KRaft вместо ZooKeeper.
- Лидеры и реплики партиций.
Частые ошибки
- Называть ZooKeeper обязательным для всех современных Kafka-кластеров.
- Путать topic и queue.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Master-нода и slave-ноды, как у классических реляционных БД
- ✗Брокеры и ZooKeeper, который хранит сами сообщения
- ✓Брокеры с партициями, клиенты и координация метаданных (KRaft, ранее ZooKeeper)
- ✗Web-сервер и БД, как у классических REST-сервисов
Что спросят дальше
- Что такое partition leader?
- Что такое offset commit?
Разбор темы
- Kafka: topic, partition, offset
Распределённый append-only лог, партиция как единица масштаба и упорядоченности, ключ и порядок, retention и log compaction, replay.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.