КроликMQ
Эта статья может чрезмерно полагаться на источники, слишком тесно связанные с предметом , что потенциально препятствует тому, чтобы статья была проверяемой и нейтральной . ( Май 2019 г. ) |
![]() | |
Разработчик(и) | VMware |
---|---|
Стабильная версия | 3.13.4
/ 3 июля 2024 г |
Репозиторий | github |
Написано в | Эрланг |
Операционная система | Кросс-платформенный |
Тип | AMQP , промежуточное программное обеспечение, ориентированное на сообщения |
Лицензия | Публичная лицензия Mozilla |
Веб-сайт | www |
RabbitMQ — это программное обеспечение -брокер сообщений с открытым исходным кодом (иногда называемое промежуточным программным обеспечением, ориентированным на сообщения ), которое изначально реализовало расширенный протокол очереди сообщений (AMQP) и с тех пор было расширено с помощью подключаемой архитектуры для поддержки протокола потокового тексто-ориентированного обмена сообщениями (STOMP). , MQ Telemetry Transport (MQTT) и другие протоколы. [1]
Написанный на Erlang , сервер RabbitMQ построен на платформе Open Telecom Platform для кластеризации и аварийного переключения. Клиентские библиотеки для взаимодействия с брокером доступны для всех основных языков программирования. Исходный код распространяется под лицензией Mozilla Public License .
С ноября 2020 года доступны коммерческие предложения RabbitMQ для поддержки и корпоративных функций: «VMware RabbitMQ OVA», «VMware RabbitMQ» и «VMware RabbitMQ для Kubernetes» (различные уровни функций). [2] RabbitMQ с открытым исходным кодом также упаковывается Bitnami. [3] и в коммерческих целях для службы приложений Tanzu компании VMware.
История
[ редактировать ]Первоначально разработанный компанией Rabbit Technologies Ltd., которая была создана как совместное предприятие LShift и CohesiveFT в 2007 году. [4] RabbitMQ был приобретен в апреле 2010 года компанией SpringSource , подразделением VMware . [5] Проект стал частью Pivotal Software в мае 2013 года. [6] Который затем был приобретен обратно VMWare в декабре 2019 года. [7]
Проект состоит из:
- Сервер обмена RabbitMQ
- Шлюзы для AMQP , HTTP , STOMP и MQTT. протоколов
- Клиентские библиотеки AMQP для Java , .NET Framework и Erlang. (Клиенты AMQP для других языков доступны у других поставщиков.)
- Платформа плагинов для расширения с предопределенным набором поддерживаемых плагинов, в том числе:
- Плагин «Shovel», который обеспечивает перемещение или копирование (реплицирование) сообщений от одного брокера к другому.
- Плагин «Федерация», позволяющий эффективно обмениваться сообщениями между брокерами (на уровне обмена).
- Плагин «Управление», позволяющий осуществлять мониторинг и контроль брокеров и кластеров брокеров.
Примеры
[ редактировать ]В этом разделе приведены примеры программ, написанных на Python (с использованием пакета pika ) для отправки и получения сообщений с использованием очереди.
Отправка
[ редактировать ]Следующий фрагмент кода устанавливает соединение, проверяет наличие очереди получателей, затем отправляет сообщение и, наконец, закрывает соединение.
#!/usr/bin/env python3
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host="localhost"))
channel = connection.channel()
channel.queue_declare(queue="hello")
channel.basic_publish(exchange="", routing_key="hello", body="Hello World!")
print(" [x] Sent 'Hello World!'")
connection.close()
Получение
[ редактировать ]Аналогично следующая программа получает сообщения из очереди и выводит их на экран: (Примечание. В этом примере не подтверждается получение сообщения.)
#!/usr/bin/env python3
import pika
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
connection = pika.BlockingConnection(pika.ConnectionParameters(host="localhost"))
channel = connection.channel()
channel.queue_declare(queue="hello")
print(" [*] Waiting for messages. To exit press Ctrl+C")
channel.basic_consume(queue="hello", on_message_callback=callback)
channel.start_consuming()
График прекращения поддержки [8]
[ редактировать ]Выпускать | Выпущенный | Поддержка сообщества | Расширенная коммерческая поддержка | Последний |
---|---|---|---|---|
3.13 | 22 февраля 2024 г. | Следующий выпуск | Заканчивается 30 декабря 2025 г. | 3.13.3
(30 мая 2024 г.) |
3.12 | 01 июня 2023 г. | Заканчивается 21 февраля 2024 г. | Заканчивается 30 декабря 2024 г. | 3.12.14
(24 августа 2023 г.) |
3.11 | 26 сен 2022 г. | Завершилось 31 декабря 2023 г. | Заканчивается 30 июля 2024 г. | 3.11.28
(21 декабря 2023 г.) |
3.10 | 3 мая 2022 г. | Завершилось 31 июля 2023 г. | Завершилось 31 декабря 2023 г. | 3.10.25
(17 июля 2023 г.) |
3.9 | 23 июля 2021 г. | Завершилось 31 января 2023 г. | Завершилось 31 июля 2023 г. | 3.9.29 |
3.8 | 01 октября 2019 г. | Завершилось 31 июля 2022 г. | Завершилось 31 июля 2022 г. | 3.8.35 |
3.7 | 28 ноября 2017 г. | Завершилось 30 сент. 2020 г. | Завершилось 30 сент. 2020 г. | 3.7.28 |
3.6 | 22 декабря 2015 г. | Завершилось 31 мая 2018 г. | Завершилось 31 мая 2018 г. | 3.6.16 |
3.5 | 11 марта 2015 г. | Завершилось 31 октября 2016 г. | Завершилось 31 октября 2016 г. | 3.5.8 |
3.4 | 21 октября 2014 г. | Завершилось 31 октября 2015 г. | Завершилось 31 октября 2015 г. | 3.4.4 |
3.3 | 02 апреля 2014 г. | Завершилось 31 марта 2015 г. | Завершилось 31 марта 2015 г. | 3.3.5 |
3.2 | 23 октября 2013 г. | Завершилось 31 октября 2014 г. | Завершилось 31 октября 2014 г. | 3.2.4 |
3.1 | 1 мая 2013 г. | Завершилось 30 апреля 2014 г. | Завершилось 30 апреля 2014 г. | 3.1.5 |
3.0 | 19 ноября 2012 г. | Завершилось 30 ноября 2013 г. | Завершилось 30 ноября 2013 г. | 3.0.4 |
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Какие протоколы поддерживает RabbitMQ?
- ^ «VMware RabbitMQ» . Проверено 5 мая 2023 г.
- ^ «КроликMQ» . bitnami.com . Проверено 8 мая 2023 г.
- ^ «Запуск корпоративного обмена сообщениями с открытым исходным кодом RabbitMQ» (PDF) . Пресс-релиз . 8 февраля 2007 года . Проверено 23 октября 2013 г.
- ^ «Rabbit Technologies объявляет о приобретении SpringSource» . Пресс-релиз . 13 апреля 2010 года. Архивировано из оригинала 18 апреля 2010 года . Проверено 3 октября 2013 г.
- ^ «С гордостью являюсь частью Pivotal» . Пресс-релиз . 14 мая 2010 года. Архивировано из оригинала 2 июня 2013 года . Проверено 3 октября 2013 г.
- ^ «VMware завершает приобретение Pivotal» . Новости и истории VMware . Проверено 06 апреля 2023 г.
- ^ «Информация о выпуске RabbitMQ» . Проверено 10 июня 2023 г.
Дальнейшее чтение
[ редактировать ]- Йорн Бартель (13 сентября 2009 г.). «Начало работы с AMQP и RabbitMQ» . ИнфоВ.
- Питер Купер (9 апреля 2009 г.). «RabbitMQ — быстрый и надежный вариант организации очереди для рубистов» . РубиИнсайд.
- RabbitMQ: брокер обмена сообщениями с открытым исходным кодом, который просто работает . Google Tech Talks. 25 сентября 2008 г.