Вкатываемся в NodeJS Help

RabbitMQ

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

Архитектура реализована вокруг центрального брокера сообщений, который выступает в роли посредника между производителями и потребителями (producers и consumers). Для репликации и хранения сообщений производители отправляют сообщения на биржи, и они уже направляют сообщения в нужные очереди. Затем уже потребители получают сообщения из нужных очередей и взаимодействуют с ними.

Схема работы

rabbitmq.png

Производительность

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

Области применения

  • Сбор и работа с метриками

  • Асинхронная связь между микросервисами

  • Системы обмена сообщений с приоритетом

  • Гибкий роутинг для доставки определенному получателю

  • Очереди задач

  • Для сценариев, где сообщения являются временными и не нуждаются в долгосрочном хранении

Last modified: 10 July 2025