RabbitMQ |
Обновлено: 30.01.2017 - 16:08
Программный брокер сообщений, иногда называемый промежуточным ПО для обработки сообщений, которое реализует Advanced Message Queuing Protocol (AMQP). Сервер RabbitMQ написан на языке программирования Erlang и построен на платформе Open Telecom Platform для кластеров и аварийного переключения (англ. failover).
Клиентские библиотеки, взаимодействующие с RabbitMQ доступны для всех основных языков программирования.
История RabbitMQ
RabbitMQ разработан в Rabbit Technologies. Rabbit Technologies появился как совместное предприятие между LShift и CohesiveFT в 2007 году и был приобретен в апреле 2010 года SpringSource, подразделением VMware. Проект стал частью Pivotal Software в мае 2013 года.
Исходный код выпущен под Mozilla Public License. Проект состоит из:
- Сам сервер обмена RabbitMQ.
- Шлюзов для HTTP, Streaming Text Oriented Messaging Protocol (STOMP) и протокола MQTT
- Клиентских библиотек AMQP для Java, .NET Framework и Erlang. AMQP-клиенты для других языков доступны от других производителей.
- плагин Shovel, который заботится о перемещении или копировании (тиражировании) сообщения от одного брокера к другому.
- Плагин Federation, который позволяет эффективно осуществлять обмен сообщениями между брокерами (на уровне обмена).
- Плагин Management, который позволяет осуществлять мониторинг и контроль брокеров и кластеров брокеров.
Примеры RabbitMQ
В этом разделе приведены примеры программ, написанных на 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()
https://en.wikipedia.org/wiki/RabbitMQ
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Программирование
Комментарии |