VMware Pivotal RabbitMQ
Последнее изменение этой страницы: 14:42, 18 июля 2016.
![]() | |
Разработчики: | Pivotal Software |
---|---|
Постоянный выпуск: | 3.6.1 / March 1, 2016 |
Операционная система: | Cross-platform |
Локализация: | Erlang |
Тип ПО: | AMQP, message-oriented middleware |
Лицензия: | Mozilla Public License |
Веб-сайт | Official website |
RabbitMQ – это открытое ПО сборщика/раздатчика сообщений (иногда называемое ориентированным на сообщение связующим/промежуточным ПО ) которое принадлежит расширенному протоколу сообщений массового обслуживания (Advanced Message Queuing Protocol (AMQP)). Сервер RabbitMQ написан на языке программирования Erlang и построен на фреймворке Open Telecom Platform для кластеризации и отказоустойчивости. Пользовательские библиотеки обеспечивающие GUI сборщика/раздатчика сообщений доступны на всех основных языках программирования.
Rabbit Technologies Ltd., разрабатывает и осуществляет поддержку RabbitMQ. Rabbit Technologies начались как совместное предприятие у LShift и CohesiveFT в 2007[1] году, и была приобретена в апреле 2010 SpringSource'ом, подразделением VMware.[2] Проект стал частью GoPivotal в мае 2013.[3]
Исходный код реализован с лицензией the Mozilla Public License. Проект состоит из:
- Самого обменного сервера RabbitMQ
- Шлюзов для HTTP, Streaming Text Oriented Messaging Protocol (STOMP), and MQTT протоколов
- AMPQ клиентские библиотеки для Java, .NET Framework, и Erlang. (AMQP клиенты для других языков доступны от других поставщиков.)
- Встроенная платформа для пользовательских дополнений с предопределенной коллекцией поддерживаемых дополнений, включая:
- "Shovel" дополнение которое отвечает за перемещение или копирование(репликацию) сообщений из одного сборщика/раздатчика сообщений в другой.
- "Federation" дополнение которое позволяет эффективно обмениваться сообщениями между сборщиками/раздатчиками сообщений(на обменном уровне)
- "Management" дополнение которое позволяет следить и контролировать сборщики/раздатчики сообщений или кластеры сборщиков/раздатчиков сообщений.
Содержание
Примеры
Эта часть приводит примеры программ написанных на языке Python для отправки и получения сообщений используя очередь.
Отправка
Фрагмент кода ниже, устанавливает соединение, удостоверяется что очередь получателя существует, потом отправляет сообщение и наконец закрывает соединение.
#!/usr/bin/env python
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 python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
print(' [*] Waiting for messages. To exit press CTRL+C')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(callback, queue='hello', no_ack=True)
channel.start_consuming()
Смотрите также
- Advanced Message Queuing Protocol (AMQP)
- ZeroMQ
- Enduro/X
Примечания
- ↑ "Launch of RabbitMQ Open Source Enterprise Messaging" (PDF). Press release. February 8, 2007. Retrieved October 23, 2013.
- ↑ "Rabbit Technologies announce acquisition by SpringSource". Press release. April 13, 2010. Archived from the original on April 18, 2010. Retrieved October 3, 2013.
- ↑ "Proudly part of Pivotal". Press release. May 14, 2010. Archived from the original on June 2, 2013. Retrieved October 3, 2013.
Дальнейшее чтение
- Joern Barthel (2009-09-13). "Getting started with AMQP and RabbitMQ". InfoQ.
- Peter Cooper (2009-04-09). "RabbitMQ - A Fast, Reliable Queuing Option for Rubyists". RubyInside.
- RabbitMQ: An Open Source Messaging Broker That Just Works. Google Tech Talks. 2008-09-25.
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.