
RabbitMQ
Открытый брокер сообщений и потоковой передачи для распределённых систем: гибкая маршрутизация, реплицируемые quorum-очереди и стримы, подтверждения доставки. Для микросервисной архитектуры, фоновых задач, RPC и IoT.
Основная информация
Технические характеристики
- Последняя версия
- 4.3.3
- Лицензия
- Mozilla Public License 2.0
- Open-source
- Да
- Протоколы
- AMQP 1.0, AMQP 0-9-1, MQTT 3.1/3.1.1/5.0, STOMP, RabbitMQ Streams, HTTP API
- Среда выполнения
- Erlang/OTP 27.0–27.x для версии 4.3.3
- Типы очередей
- Quorum-очереди (Raft), потоки, классические очереди
- Кластеризация и отказоустойчивость
- Кластеризация, федерация, shovel-соединения
- Мониторинг
- Плагин rabbitmq_management, Prometheus и Grafana с версии 3.8
- Языки SDK
- Java, .NET, Python, Go, PHP, Ruby, JavaScript, Kotlin, Elixir, Swift, Rust, Erlang и другие
- Репозиторий
- github.com/rabbitmq/rabbitmq-server
- Self-hosted
- Да
Безопасность и compliance
Поддержка и SLA
Интеграции RabbitMQ
- Prometheus и Grafana— мониторинг с версии 3.8официальная
- Kubernetes cluster-operator— оркестрацияофициальная
- Spring AMQP— клиент для Javaофициальная
- Docker— образ от сообщества
- Amazon MQ— управляемый брокер в AWS
- amqp091-go— клиент для Goофициальная
Тарифы RabbitMQ
Открытая версия бесплатна и распространяется под лицензией Mozilla Public License 2.0 — ограничений по числу узлов, очередей или подключений лицензия не вводит. Стоимость коммерческой сборки Tanzu RabbitMQ на сайте не публикуется и обсуждается индивидуально. Сроки поддержки версии 4.3: бесплатная — до 30 ноября 2026 года, коммерческая — до 30 апреля 2028 года.
Open Source
Популярный- ✓Лицензия Mozilla Public License 2.0
- ✓Протоколы AMQP 1.0, AMQP 0-9-1, MQTT, STOMP, потоки
- ✓Quorum-очереди на алгоритме Raft и потоки
- ✓Плагин управления с веб-интерфейсом и HTTP API
- ✓Интеграция с Prometheus и Grafana
- ✓Поддержка сообщества: GitHub Discussions и Discord
Tanzu RabbitMQ
- ✓Круглосуточная поддержка от разработчиков продукта
- ✓Продлённый жизненный цикл версий и выпуск исправлений
- ✓Аварийное восстановление: репликация схемы и данных в резервный кластер
- ✓Соответствие FIPS 140-2, прокси OAuth 2.0, сканирование уязвимостей
- ✓Сжатие внутрикластерного трафика и журналирование действий
- ✓Отложенные сообщения с репликацией и распределённые shovel-соединения
| Тариф | Цена |
|---|---|
| Open SourceTOP | Бесплатно |
| Tanzu RabbitMQ | По запросу |
Обзор RabbitMQ
Что такое RabbitMQ?
RabbitMQ — брокер сообщений и потоковой передачи с открытым исходным кодом, распространяемый под лицензией Mozilla Public License 2.0. Он принимает сообщения от издателей, хранит их и доставляет потребителям, снимая с приложений задачу напрямую связываться друг с другом.
Развитием проекта занимается Broadcom. Помимо свободной версии существует коммерческая сборка Tanzu RabbitMQ с круглосуточной поддержкой и продлённым жизненным циклом. Актуальная линейка — 4.3, работающая на Erlang/OTP 27.
Протоколы и совместимость
Ключевое отличие системы от однопротокольных решений — набор открытых стандартов, что снимает привязку к вендору. Клиентские библиотеки существуют почти для любого языка, поэтому подключить брокер можно из уже написанного кода.
- AMQP 1.0 — с версии 4.0 это основной протокол, работающий без включения плагинов
- AMQP 0-9-1 — исторический протокол, с которого начинался проект
- MQTT 3.1, 3.1.1 и 5.0 — для сценариев интернета вещей
- STOMP и собственный протокол потоков — через штатные плагины
- WebSocket — AMQP 1.0, MQTT и STOMP поверх веб-сокетов для браузерных клиентов
- HTTP API — отправка и получение сообщений через management-плагин
Надёжность и репликация
За сохранность сообщений отвечают подтверждения доставки и реплицируемые типы очередей. В четвёртой версии их два: quorum-очереди, построенные на алгоритме консенсуса Raft, и потоки (streams) — они лучше подходят для повторного чтения, веерной рассылки и больших накопленных объёмов.
Важное изменение для тех, кто обновляется со старых версий: классическое зеркалирование очередей удалено начиная с релиза 4.0. Команда проекта предоставляет инструменты миграции, включая сценарий сине-зелёного развёртывания.
Маршрутизация и эксплуатация
- Обменники и правила маршрутизации, фильтрация сообщений по шаблону темы
- Федерация для связи географически разнесённых кластеров
- Плагин rabbitmq_management: браузерный интерфейс и HTTP API для управления
- Штатная интеграция с Prometheus и Grafana начиная с версии 3.8, рекомендованная для продакшена
- Развёртывание в облаке, на своих серверах и на локальной машине
- Оператор кластера для Kubernetes и образ Docker от сообщества
Коммерческая версия Tanzu RabbitMQ
Платная сборка добавляет функции, которых нет в свободной версии: аварийное восстановление с репликацией схемы и данных в резервный кластер, соответствие FIPS 140-2, поддержку прокси OAuth 2.0 и сканирование уязвимостей. Отдельно заявлены сжатие внутрикластерного трафика со снижением сетевой нагрузки до 96 %, журналирование действий администраторов, распределённые shovel-соединения и отложенные сообщения с репликацией. Стоимость публично не раскрывается и обсуждается с отделом продаж.
Для кого подходит
Брокер востребован при разделении связанных между собой сервисов, реализации схемы «запрос — ответ», очередей фоновых задач, сбора телеметрии с устройств и потоковой обработки событий. Порог входа ниже, чем у систем, требующих отдельной инфраструктуры: сервис разворачивается локально и одинаково работает на ноутбуке разработчика и в кластере.
Плюсы и минусы RabbitMQ
+Преимущества
- ✓Полностью бесплатен под лицензией MPL 2.0, без ограничений на узлы и подключения
- ✓Несколько открытых протоколов вместо одного — нет привязки к вендору
- ✓Клиенты для Java, Python, Go, .NET, PHP, Ruby, Kotlin, Elixir, Swift и других языков
- ✓Quorum-очереди на Raft дают предсказуемую репликацию и выбор лидера
- ✓Веб-интерфейс управления и связка с Prometheus и Grafana идут в комплекте
- ✓Одинаково разворачивается на ноутбуке, своих серверах и в Kubernetes
−Недостатки
- ✗Классическое зеркалирование очередей удалено в версии 4.0 — при обновлении со старых сборок нужна миграция
- ✗Бесплатная поддержка версии 4.3 заканчивается 30 ноября 2026 года, дальше только коммерческая
- ✗Жёсткая привязка к версии Erlang/OTP: для 4.3.3 подходит только ветка 27.x
- ✗Аварийное восстановление, FIPS 140-2 и аудит действий доступны лишь в платной сборке Tanzu
- ✗Стоимость коммерческой версии не публикуется — цену придётся запрашивать у продавца
- ✗Документация и поддержка сообщества только на английском языке
Сценарии использования RabbitMQ
Разделение связанных сервисов
Бэкенду нужно разослать уведомления по почте и push-каналу. Он публикует сообщение в две очереди, а обработчики читают свою и работают независимо. Брокер гасит всплески нагрузки, а обслуживать один обработчик можно, не останавливая остальной сервис.
Схема «запрос — ответ» между сервисами
Клиент кладёт запрос в очередь и ждёт результат в отдельной очереди ответов. Такой удалённый вызов не требует, чтобы обе стороны были доступны одновременно, и переживает перезапуск любого участника.
Потоковая передача событий
Тип очередей «поток» хранит сообщения так, что их можно перечитывать с нужного смещения. Это подходит для веерной рассылки одного события множеству подписчиков и для сценариев, где потребитель подключается позже публикации.
Сбор данных с устройств интернета вещей
Поддержка MQTT версий 3.1, 3.1.1 и 5.0 позволяет принимать телеметрию напрямую от датчиков и контроллеров, а затем маршрутизировать её в обработчики по обычным правилам брокера.
Очереди фоновых задач
Долгие операции — генерация отчётов, обработка изображений, выгрузки — выносятся из веб-запроса в очередь. Подтверждения доставки гарантируют, что задача не потеряется при падении обработчика, а quorum-очереди переживут отказ узла.
Доверие и масштаб
- 📊Сайт проекта заявляет, что брокером пользуются миллионы разработчиков по всему миру
- 📊Развитием занимается Broadcom, в подвале сайта указан копирайт 2005–2026
- 📊Репозиторий rabbitmq-server опубликован на GitHub в сентябре 2010 года
- 📊В организации проекта на GitHub собрано 76 публичных бюллетеней безопасности
Отзывы о RabbitMQ
Обзор помог разобраться в сервисе?
Одно нажатие, без регистрации. Ответ увидят те, кто будет выбирать сервис после вас.
Ваш ответ здесь будет первым.
Поделитесь опытом использования
Помогите другим сделать правильный выбор — ваш отзыв будет полезен
Часто задаваемые вопросы о RabbitMQ
?Сколько стоит RabbitMQ?
Открытая версия бесплатна: она распространяется под лицензией Mozilla Public License 2.0, и лицензия не ограничивает количество узлов, очередей или подключений. Платить нужно только за коммерческую сборку Tanzu RabbitMQ, но её стоимость на сайте не публикуется — цену запрашивают у отдела продаж Broadcom.
?Какие протоколы поддерживает RabbitMQ?
С версии 4.0 основным протоколом стал AMQP 1.0 — он работает без включения плагинов. Также поддерживаются исторический AMQP 0-9-1, MQTT версий 3.1, 3.1.1 и 5.0, STOMP, собственный протокол потоков и передача AMQP 1.0, MQTT или STOMP поверх WebSocket. Отправлять и получать сообщения можно и через HTTP API плагина управления.
?Что случилось с зеркалированием очередей в RabbitMQ 4?
Классическое зеркалирование очередей удалено начиная с релиза 4.0. Вместо него доступны два реплицируемых типа: quorum-очереди на алгоритме консенсуса Raft — рекомендованный вариант для отказоустойчивых очередей, и потоки, которые лучше подходят для повторного чтения и больших накопленных объёмов. Команда проекта выпустила инструменты миграции, в том числе для сине-зелёного развёртывания.
?Чем Tanzu RabbitMQ отличается от бесплатной версии?
Коммерческая сборка добавляет круглосуточную поддержку от инженеров проекта и продлённый жизненный цикл версий. Технически в неё входят аварийное восстановление с репликацией схемы и данных в резервный кластер, соответствие FIPS 140-2, прокси OAuth 2.0, сканирование уязвимостей, сжатие внутрикластерного трафика, журналирование действий, распределённые shovel-соединения и отложенные сообщения с репликацией.
?Какая версия Erlang нужна для RabbitMQ?
Требования жёсткие и зависят от сборки. Для версий 4.3.3 и 4.2.9 подходит только Erlang/OTP ветки 27: минимум 27.0, максимум 27.x. Для более ранних 4.3.0–4.3.2 и 4.2.0–4.2.8 минимальной считается 26.2. Erlang 28 поддержан частично и рекомендован только для новых кластеров, а не для обновления существующих.
?Как долго поддерживается версия 4.3?
Бесплатная поддержка версии 4.3 со стороны сообщества заканчивается 30 ноября 2026 года, коммерческая в рамках Tanzu RabbitMQ — 30 апреля 2028 года. У версии 4.2 сроки другие: 31 июля 2026 года и 30 июня 2030 года соответственно. Планировать обновление стоит с оглядкой на эти даты, потому что после окончания срока исправления безопасности для ветки не выпускаются.
?Как развернуть RabbitMQ и чем его мониторить?
Брокер разворачивается в облаке, на собственных серверах и на локальной машине; для Kubernetes есть официальный оператор кластера, а у сообщества — образ Docker. У AWS доступен управляемый брокер Amazon MQ с движком RabbitMQ. Для наблюдения в комплект входит плагин rabbitmq_management с веб-интерфейсом и HTTP API, а для продакшена рекомендована штатная связка с Prometheus и Grafana, доступная с версии 3.8.
?Куда сообщать об уязвимости в RabbitMQ?
Уязвимости принимаются только приватно: через раздел Security нужного репозитория на GitHub кнопкой Report a vulnerability либо письмом на tnz-rabbitmq-core.pdl@broadcom.com. Публиковать их в открытых issue, рассылках и Discord правилами проекта запрещено. Готовые бюллетени собраны на странице безопасности сайта, а коммерческим клиентам Broadcom дополнительно раскрывает уязвимости в зависимостях и в среде выполнения Erlang.
Обновлено: 23 июля 2026 г.