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

Работал ли с маршрутизацией RabbitMQ

Да, работал. RabbitMQ поддерживает несколько типов маршрутизации через exchange: direct, fanout, topic, headers.

  • Direct – сообщение идёт в очередь с точно совпадающим routing_key.
  • Fanout – рассылка во все связанные очереди (broadcast).
  • Topic – маршрутизация по шаблону (например, logs.* или *.error).
  • Headers – маршрутизация по атрибутам сообщения (редко используется).

Пример с topic exchange:

python
import pika

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

channel.exchange_declare(exchange='topic_logs', exchange_type='topic')

routing_key = 'logs.error'
message = 'Critical error!'
channel.basic_publish(
    exchange='topic_logs',
    routing_key=routing_key,
    body=message
)
print(f"Sent: {message}")
connection.close()

Для привязки очереди к exchange используется queue_bind().

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

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

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

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