Встречается на 1% собеседований по Python
Какие знаешь типы обменников в RabbitMQ
RabbitMQ поддерживает несколько типов обменников (exchanges), которые определяют, как сообщения будут распределяться между очередями:
- Direct – сообщение отправляется в очередь с точно совпадающим ключом маршрутизации (routing key). Пример:
python
channel.exchange_declare(exchange='direct_logs', exchange_type='direct')
channel.basic_publish(exchange='direct_logs', routing_key='error', body='Error message')-
Fanout – сообщение рассылается во все связанные очереди, игнорируя routing key. Полезно для широковещательных рассылок.
-
Topic – маршрутизация по шаблону. Routing key может содержать подстановочные символы (
*– одно слово,#– несколько слов). Пример:
python
channel.exchange_declare(exchange='topic_logs', exchange_type='topic')
channel.basic_publish(exchange='topic_logs', routing_key='system.error', body='Error')-
Headers – маршрутизация на основе заголовков сообщения (атрибутов headers), а не routing key. Сравнение происходит по заданным критериям (
x-match: all/any). -
Default (Nameless) – встроенный обменник, куда попадают сообщения без указанного exchange. Связывает очереди по имени очереди как routing key.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы