Встречается на 1% собеседований по Python
В чем разница между 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
интервью вопросы и ответы