RabbitMQ
RabbitMQ - open source брокер сообщений, который реализует подключение Advanced Message Queuing Protocol (AMQP). Так же используются и другие протоколы, такие как MQTT и STOMP. Из этого следует традиционная модель очереди сообщений (The RabbitMQ Queue), позволяя приложениям взаимодействовать асинхронно, отправляя и получая сообщения для конкретных получателей. Это обеспечивает надежный и гибкий порядок сообщений, что делает его идеальным для запланированных процессов и для общения между микосервисами.
Архитектура реализована вокруг центрального брокера сообщений, который выступает в роли посредника между производителями и потребителями (producers и consumers). Для репликации и хранения сообщений производители отправляют сообщения на биржи, и они уже направляют сообщения в нужные очереди. Затем уже потребители получают сообщения из нужных очередей и взаимодействуют с ними.
Схема работы

Производительность
Поддерживает надежную и гарантированную доставку, предоставляя такие функции как подтверждение и сохранение сообщений. Оно может удерживать тысячи сообщений в секунду, это делает его подходящим выбором для умеренного количества пользователей и пропускной способности. Из-за централизовнной системы и происходят просадки в производительности, однако она обеспечивает надежность и целостность сообщений. Вертикальное масштабирование возможно, как и горизонтальное, однако с горизонтальным присутствуют проблемы, по сравнению с Kafka.
Области применения
Сбор и работа с метриками
Асинхронная связь между микросервисами
Системы обмена сообщений с приоритетом
Гибкий роутинг для доставки определенному получателю
Очереди задач
Для сценариев, где сообщения являются временными и не нуждаются в долгосрочном хранении