Show / Hide Table of Contents

RabbitMQ

Кратко про RabbitMQ

RabbitMQ - брокер сообщений, являющийся базовым в Т2 Интеграция.

Архитектура RabbitMQ-server основана на Erlang и BEAM.

RabbitMQ — высокопроизводительная платформа, написанная на Erlang, основанная на Open Telecom Platform, а значит — очень надежная и масштабированная система, часто применяемая в телекоммуникационных приложениях и других подобных системах. Интерфейс только для Java и C++. Система поддерживает стандарт AMQP (Open Standard for Messaging Middleware).

RabbitMQ – это брокер сообщений с открытым исходным кодом. Он маршрутизирует собщения по всем базовым принципам протокола AMQP описанным в спецификации. Отправитель передает сообщение брокеру а тот доставляет его получателю. RabbitMQ реализует и дополняет протокол AMQP.

Основная идея модели обмена сообщениями в RabbitMQ заключается в том, что producer (издатель) не отправляет сообщения непосредственно в очередь. На самом деле и довольно часто издатель даже не знает, будет ли сообщение вообще доставлено в какую-либо очередь.

Вместо этого издатель может отправлять сообщения только на обмен. С одной стороны, обмен получает сообщения от издателей, а с другой — отправляет их в очереди. Обмен должен точно знать, что делать с полученным сообщением. Должно ли оно быть добавлено в определенную очередь? Должно ли оно быть добавлено в несколько очередей? Или сообщение нужно игнорировать.

RabbitMQ

Кратко работу RabbitMQ можно описать следующим образом:

  1. Издатель отправляет сообщение определенному обменнику
  2. Обменник, получив сообщение, маршрутизирует его в одну или несколько очередей в соответствии с правилами привязки между ним и очередью
  3. Очередь хранит ссылку на это сообщение. Само сообщение хранится в оперативной памяти или на диске
  4. Как только потребитель готов получить сообщение из очереди, сервер создает копию сообщения по ссылке и отправляет
  5. Потребитель получает сообщение и отправляет брокеру подтверждение
  6. Брокер, получив подтверждение, удаляет копию сообщения из очереди. Затем удаляет из оперативной памяти и с диска

RabbitMQ. Часть 1. Introduction. Erlang, AMQP

  • Improve this Doc
In This Article
Back to top Все права защищены (C) 1994-2022 ООО Топ Софт.