Встречается на собеседованиях • сегодня
В чём разница между 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')
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы