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

Как устроены очереди в RabbitMQ

RabbitMQ использует модель обмена сообщениями через брокер, где сообщения публикуются в exchange, который затем маршрутизирует их в очереди на основе правил (bindings). Очереди — это FIFO-структуры, хранящие сообщения до их обработки потребителями.

Ключевые особенности:

  • Декларация очереди: очередь должна быть объявлена перед использованием (durable или временная).
  • Привязка к exchange: очередь привязывается к exchange с определенным routing key.
  • Доставка сообщений: сообщения попадают в очередь через exchange на основе routing key или типа exchange (direct, topic, fanout, headers).

Пример создания очереди:

python
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

# Объявление очереди (durable=True для сохранения при перезапуске)
channel.queue_declare(queue='task_queue', durable=True)

# Публикация сообщения
channel.basic_publish(
    exchange='',
    routing_key='task_queue',
    body='Hello World!',
    properties=pika.BasicProperties(delivery_mode=2)  # Сообщение persistent
)

connection.close()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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