Содержание

, ,

RabbitMQ - Сетевой брокер сообщений

RabbitMQ ‒ это брокер сообщений. Его основная цель ‒ принимать и отдавать сообщения. Его можно представлять себе, как почтовое отделение: когда Вы бросаете письмо в ящик, Вы можете быть уверены, что рано или поздно почтальон доставит его адресату [видимо, автор ни разу не имел дела с Почтой России]. В этой аналогии RabbitMQ является одновременно и почтовым ящиком, и почтовым отделением, и почтальоном.

Терминалогия

Поставщик, подписчик и брокер не обязаны находиться на одной физической машине, обычно они находятся на разных.

Как работает RabbitMQ?

RabbitMQ предоставляет интерфейс, соединяющий отправителей (Publishers) с получателями (Consumers) при помощи брокера, который распределяет данные в соответствующие списки — очереди сообщений (Message Queues).

APPLICATION EXCHANGE TASK LIST WORKER
[DATA] [DATA] [D]+[D][D][D] [DATA]
Publisher EXCHANGE Queue Consumer

Преимущества RabbitMQ

В отличие от других решений, RabbitMQ является полноценным стеком приложений, а не простой базой для применения выбранных вами приложений. Он предоставляет все необходимые инструменты в комплексе.

Краткий обзор AMQP

AMQP (Advanced Message Queuing Protocol) – это широко распространённый открытый стандарт для распространения и передачи сообщений. Как протокол и стандарт, он устанавливает общую основу для взаимодействия различных приложений и брокеров сообщений и устраняет проблемы, вызванные индивидуальным проектированием программ.

Установка RabbitMQ

$ apt-get install rabbitmq-server

Запуск и Провека

# Запуск:
service rabbitmq-server start
# Остановка:
service rabbitmq-server stop
# Перезапуск:
service rabbitmq-server restart
# Проверка статуса:
service rabbitmq-server status  

Установка плагинов

Заголовок

$ rabbitmq-plugins enable rabbitmq_amqp1_0 rabbitmq_management rabbitmq_management_visualiser rabbitmq_mqtt rabbitmq_stomp

Заголовок

$ rabbitmq-plugins enable rabbitmq_management rabbitmq_management_visualiser rabbitmq_stomp

Запуск консоли

Разрешаем доступ к консоли по guest извне

Только для разработки
echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config

По умолчанию консоль будет доступна по порту 15672 на адресе http://[IP_адрес_сервера]:15672

Клиенты

Ссылки