Встречается на собеседованиях • сегодня
В чем разница между Kafka и RabbitMQ c точки зрения модели обмена сообщениями
Kafka и RabbitMQ используют разные модели обмена сообщениями:
RabbitMQ (брокер сообщений):
- Работает по модели publish-subscribe и point-to-point (очереди).
- Сообщения удаляются после обработки (по умолчанию).
- Поддерживает сложные маршрутизации (exchanges, routing keys).
- Гарантирует доставку (acknowledgments).
- Оптимизирован для короткоживущих сообщений и RPC-сценариев.
Kafka (распределенный лог):
- Использует модель append-only log (сообщения хранятся).
- Сообщения не удаляются после чтения (хранятся по TTL).
- Подписчики управляют offset'ами (могут перечитывать).
- Оптимизирован для потоковой обработки и big data.
- Высокая пропускная способность, но выше latency.
Пример Kafka:
python
producer.send('topic', value={'data': 'test'})
# Сообщение остается в топике для других consumersПример RabbitMQ:
python
channel.basic_publish(exchange='', routing_key='queue', body='msg')
# Сообщение уходит первому свободному consumer'у и удаляется
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы