Вопрос с собеседования · Брокеры сообщений

Какие основные компоненты Kafka?

MiddleKafka: topic, partition, offsetKafka
Ещё спрашивают так:
  • Из чего состоит кластер 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?

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования