Ответ вслух Middle Асинхронные интеграции и брокеры спрашивают часто обновлено

Kafka и RabbitMQ

Вопрос

Расскажи, чем Kafka отличается от RabbitMQ и как ты выбираешь между ними.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

RabbitMQ это классический брокер: сообщения приходят в exchange и по правилам маршрутизации попадают в очереди, потребитель подтверждает обработку, и сообщение удаляется. Он удобен для задач и сложной маршрутизации.

Что должно прозвучать в ответе

  • RabbitMQ: брокер очередей, exchange и маршрутизация, сообщение удаляется после ack

  • Kafka: журнал, топики и партиции, хранение по сроку, перечитывание

  • Порядок: в очереди у RabbitMQ, в партиции у Kafka по ключу

  • Масштабирование: consumer groups в Kafka

  • Выбор: задачи и маршрутизация против потока событий, нагрузки и перечитки

Что могут спросить следом

  • Как обеспечить порядок событий одного клиента в Kafka?
  • Что такое lag и почему его мониторят?

Разбор

RabbitMQ это классический брокер: сообщения приходят в exchange и по правилам маршрутизации попадают в очереди, потребитель подтверждает обработку, и сообщение удаляется. Он удобен для задач и сложной маршрутизации. Kafka это распределённый журнал: топик делится на партиции, сообщения хранятся заданное время, разные группы потребителей читают независимо и могут перечитать историю. Порядок в Kafka гарантирован внутри партиции, поэтому события одного объекта публикуют с одинаковым ключом. Kafka выбираю для потока событий, высокой нагрузки, когда нужно несколько независимых потребителей и перечитывание, RabbitMQ для очередей задач, приоритетов и гибкой маршрутизации.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.