Встречается на 1% собеседований по Python
Какие обменники использовал в RabbitMQ
RabbitMQ поддерживает несколько типов обменников (exchanges), которые определяют, как сообщения будут распределяться между очередями:
- Direct – сообщение отправляется в очередь с точно совпадающим ключом маршрутизации (routing key).
Пример:pythonchannel.exchange_declare(exchange='direct_logs', exchange_type='direct') channel.basic_publish(exchange='direct_logs', routing_key='error', body='Error message')
-
Fanout – сообщение рассылается во все связанные очереди (broadcast).
Пример:pythonchannel.exchange_declare(exchange='logs', exchange_type='fanout') channel.basic_publish(exchange='logs', routing_key='', body='Broadcast message') -
Topic – маршрутизация по шаблону (wildcards:
*– одно слово,#– несколько).
Пример:pythonchannel.exchange_declare(exchange='topic_logs', exchange_type='topic') channel.basic_publish(exchange='topic_logs', routing_key='system.error', body='Topic message') -
Headers – маршрутизация по заголовкам сообщения (а не по routing key).
Пример:pythonargs = {'x-match': 'all', 'severity': 'error'} channel.exchange_declare(exchange='headers_logs', exchange_type='headers') channel.basic_publish(exchange='headers_logs', routing_key='', body='Headers message', properties=headers)
Также есть Default exchange (пустое имя ""), куда сообщения попадают напрямую в очередь, указанную в routing_key.

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