# RabbitMQ

Написан на Erlang

Get started: <https://www.rabbitmq.com/getstarted.html>

Documentation: <https://www.rabbitmq.com/documentation.html>

Работает по протоколу AMQP

## Концепция

**Поставщики (Producers) и подписчики (Consumers)**: поставщик создает новые сообщения/задачи, а подписчики их принимают. В данном примере после загрузки файла http-обработчик создает сообщение для обработчиков. http-обработчик/веб-приложение — это поставщик, а фоновые обработчики — подписчики.

**Точка обмена (Exchange) и очереди (Queues)**: Точки обмена получают сообщения от поставщиков и доставляют их в очереди. Подписчики принимают сообщения из очередей. RabbitMQ предоставляет мощные функции маршрутизации сообщений. Доставку сообщений в очереди можно настроить разными способами.
