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

Что делает producer в системе обмена сообщениями?

JuniorKafka ProducerKafka
Ещё спрашивают так:
  • Что такое продюсер в Kafka?
Коротко

Продюсер отправляет записи в топик. Получателей он не знает и обработки не ждёт — только подтверждения записи брокером.

  • Выбирает партицию по ключу
  • Копит записи в пакеты и сжимает
  • Надёжность задаётся acks и идемпотентностью

А ещё Отправка асинхронная: ошибки — в callback

Подробно

В этом и состоит развязка через брокер: издатель не зависит от того, есть ли сейчас потребители, сколько их и работают ли они. Хранением и раздачей занимается брокер, чтением — потребители, распределением партиций — координатор группы. Отправка обычно асинхронна: клиент складывает записи в буфер и отправляет пачками, а подтверждение приходит колбэком.

Что хотят услышать

  • Роль продюсера.
  • Ключ, пакеты, подтверждения.

Частые ошибки

  • Считать, что producer отправляет сообщение конкретному получателю.
  • Путать роли producer, брокера и consumer.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Публикует сообщения в топик, не зная, кто их прочитает
  • ✗Читает сообщения из топика и обрабатывает их
  • ✗Хранит сообщения на диске и управляет их репликацией между узлами
  • ✗Распределяет партиции между потребителями

Что спросят дальше

  • Как producer выбирает партицию?
  • Что означает подтверждение записи?

Разбор темы

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

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

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

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

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