Встречается на 2% собеседований по Python
Как устроены очереди в 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
интервью вопросы и ответы