Ответ
Основные компоненты RabbitMQ:
- Producer (Publisher): Приложение, которое отправляет сообщения.
- Consumer: Приложение, которое получает и обрабатывает сообщения.
- Queue: Буфер, хранящий сообщения. Сообщения остаются в очереди до получения потребителем.
- Exchange: Принимает сообщения от продюсеров и маршрутизирует их в очереди на основе типа обмена и правил (bindings).
- Binding: Правило, связывающее exchange с очередью. Часто включает ключ маршрутизации (routing key).
- Message: Данные, передаваемые от продюсера к потребителю, состоящие из заголовков (properties) и тела (payload).
- Channel: Виртуальное соединение внутри одного TCP-соединения. Позволяет многопоточную работу без открытия множества дорогих TCP-соединений.
- Virtual Host: Логическая изоляция внутри одного экземпляра брокера. Имеет собственные наборы обменников, очередей и прав доступа.
Пример потока: Producer -> Exchange -> (на основе Binding) -> Queue -> Consumer.