stringtranslate.com

КроликMQ

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] Затем в декабре 2019 года его снова приобрела VMWare. [7]

Проект состоит из:

Примеры

В этом разделе приведены примеры программ, написанных на Python (с использованием пакета pika ) для отправки и получения сообщений с использованием очереди.

Отправка

Следующий фрагмент кода устанавливает соединение, проверяет наличие очереди получателей, затем отправляет сообщение и, наконец, закрывает соединение.

#!/usr/bin/env python3 import  pikaсоединение  =  пика . BlockingConnection ( pika . ConnectionParameters ( host = «localhost» )) канал  =  Connection . канал () канал . очередь_объявления ( очередь = «привет» ) канал . Basic_publish ( exchange = "" ,  router_key = "hello" ,  body = "Hello World!" ) print ( "[x] Отправлено 'Hello World!'" ) Connection . закрывать ()

Получение

Аналогично, следующая программа получает сообщения из очереди и выводит их на экран: (Примечание: в этом примере не подтверждается получение сообщения.)

#!/usr/bin/env python3 import  pika обратный вызов def ( ch ,  метод ,  свойства ,  тело ):  print ( «[x] Получено %r »  %  тело )соединение  =  пика . BlockingConnection ( pika . ConnectionParameters ( host = «localhost» )) канал  =  Connection . канал () канал . очередь_объявления ( queue = "hello" ) print ( " [*] Ожидание сообщений. Для выхода нажмите Ctrl+C" ) канал . Basic_consume ( очередь = «привет» ,  on_message_callback = обратный вызов ) канал . старт_потребление ()

График прекращения поддержки [8]

Смотрите также

Рекомендации

  1. ^ Какие протоколы поддерживает RabbitMQ?
  2. ^ "VMware RabbitMQ" . Проверено 5 мая 2023 г.
  3. ^ "КроликMQ". bitnami.com . Проверено 8 мая 2023 г.
  4. ^ «Запуск корпоративного обмена сообщениями с открытым исходным кодом RabbitMQ» (PDF) . Пресс-релиз . 8 февраля 2007 года . Проверено 23 октября 2013 г.
  5. ^ «Rabbit Technologies объявляет о приобретении SpringSource» . Пресс-релиз . 13 апреля 2010 года. Архивировано из оригинала 18 апреля 2010 года . Проверено 3 октября 2013 г.
  6. ^ «Гордая часть Pivotal». Пресс-релиз . 14 мая 2010 года. Архивировано из оригинала 2 июня 2013 года . Проверено 3 октября 2013 г.
  7. ^ «VMware завершает приобретение Pivotal» . Новости и истории VMware . Проверено 06 апреля 2023 г.
  8. ^ "КроликMQ". конецжизни.дата . Проверено 14 апреля 2023 г.

дальнейшее чтение

Внешние ссылки