Встречается на собеседованиях • сегодня
В чем разница между Kafka и RabbitMQ
Kafka и RabbitMQ — это брокеры сообщений, но с разными подходами к обработке данных:
- RabbitMQ — классический message broker, работает по модели очередей (point-to-point) и publish-subscribe. Подходит для задач, где важны гарантии доставки, гибкость маршрутизации (exchanges, routing keys) и относительно низкие нагрузки. Пример:
python
channel.basic_publish(exchange='logs', routing_key='', body='Hello World!')- Kafka — распределённый log-ориентированный брокер, оптимизирован для потоковой обработки больших объёмов данных с высокой пропускной способностью. Сообщения хранятся долго, поддерживается повторное чтение (consumer groups). Пример:
python
producer.send('topic', value={'key': 'value'})Ключевые отличия:
- Производительность: Kafka обрабатывает миллионы сообщений в секунду, RabbitMQ — десятки тысяч.
- Хранение: Kafka хранит сообщения долго (дни/недели), RabbitMQ удаляет после доставки.
- Модель: RabbitMQ — «умный брокер, глупые потребители», Kafka — «простой брокер, умные потребители».
- Гарантии: RabbitMQ гарантирует доставку, Kafka — at-least-once/exactly-once семантику.
Выбор зависит от задачи: RabbitMQ для сложной маршрутизации и RPC, Kafka — для big data и стриминга.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы