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

В чём разница между Kafka и RabbitMQ

Kafka и RabbitMQ — это брокеры сообщений, но с разными подходами и use cases.

RabbitMQ — классический message broker, основанный на AMQP.

  • Подходит для задач, где важны гарантии доставки, routing (через exchange) и сложные очереди.
  • Использует push-модель (брокер сам отправляет сообщения потребителям).
  • Хорош для RPC, task queues (например, Celery).

Kafka — распределённый log-ориентированный брокер.

  • Оптимизирован для потоковой обработки больших объёмов данных с высокой пропускной способностью.
  • Использует pull-модель (потребители сами запрашивают данные).
  • Хранит сообщения долго (можно перечитывать старые данные).
  • Идеален для event sourcing, логов, аналитики в реальном времени.

Пример выбора:

  • Если нужны транзакционные задачи (например, обработка платежей) — RabbitMQ.
  • Если нужна потоковая аналитика (например, трекинг кликов) — Kafka.
python
# RabbitMQ (pika)
channel.basic_publish(exchange='', routing_key='queue', body='Hello')

# Kafka (kafka-python)
producer.send('topic', value=b'Hello')
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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