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