Что такое Exchange в RabbitMQ

Python Senior Без компании
Что такое Exchange в RabbitMQ
Ответы
Exchange в RabbitMQ — это сущность, которая получает сообщения от продюсеров и направляет их в очереди согласно определенным правилам (типу exchange). Основные типы exchange: - **Direct** — маршрутизация по точному совпадению routing key - **Fanout** — рассылка во все связанные очереди (broadcast) - **Topic** — маршрутизация по шаблону routing key (например, `logs.*`) - **Headers** — маршрутизация по заголовкам сообщения (а не по routing key) Пример объявления exchange в Python (библиотека `pika`): ``` channel.exchange_declare( exchange='my_exchange', exchange_type='direct', durable=True ) ``` Ключевые особенности: - Exchange не хранит сообщения (в отличие от очередей) - Один exchange может отправлять сообщения в несколько очередей - Поведение exchange определяется его типом и binding-правилами