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

В чем разница между Queue и Exchange в RabbitMQ

Queue (очередь) — это место, где хранятся сообщения до их обработки потребителями. Сообщения попадают в очередь через exchange.

Exchange (обменник) — это точка входа сообщений в RabbitMQ. Он определяет, как сообщения будут распределяться по очередям, используя тип обмена (direct, fanout, topic, headers) и routing key.

Пример:

python
# Создание exchange и очереди
channel.exchange_declare(exchange='logs', exchange_type='fanout')
channel.queue_declare(queue='log_queue')
channel.queue_bind(exchange='logs', queue='log_queue')

# Отправка сообщения в exchange
channel.basic_publish(exchange='logs', routing_key='', body='Hello World!')

Различия:

  • Exchange маршрутизирует сообщения, а очередь их хранит.
  • Сообщения всегда отправляются в exchange, а не напрямую в очередь.
  • Очередь должна быть привязана к exchange для получения сообщений.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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