Описание тега rabbitmq-exchange

В RabbitMQ сообщения не публикуются напрямую в очередь. Вместо этого производитель отправляет сообщения на обмен. Используйте этот тег только в том случае, если ваш вопрос касается обмена RabbitMQ или если вопрос касается ключей маршрутизации или очередей сообщений, в которые обмен доставляет сообщение для конечной публикации.

RabbitMQ - это брокер сообщений, основанный на протоколе AMPQ.

Биржи - это объекты AMQP, на которые отправляются сообщения. Биржи принимают сообщение и направляют его в ноль или более очередей. Используемый алгоритм маршрутизации зависит от типа обмена и правил, называемых привязками. Брокеры AMQP 0-9-1 предоставляют четыре типа обмена:

  • Прямой обмен: (empty string) и amq.direct
  • Обмен Fanout: amq.fanout
  • Обмен темами: amq.topic
  • Обмен заголовками: amq.match (а также amq.headers в RabbitMQ)

Помимо типа обмена, биржи объявляются с рядом атрибутов, наиболее важными из которых являются:

  • имя
  • Долговечность (биржи переживают перезапуск брокера)
  • Автоудаление (обмен удаляется, когда все очереди его используют)
  • Аргументы (зависят от брокера)

Обмены могут быть долговременными или временными. Долговременные биржи выдерживают перезапуск брокера, тогда как временные биржи - нет (они должны быть повторно объявлены, когда брокер вернется в режим онлайн). Не все сценарии и варианты использования требуют, чтобы обмены были долговечными.

RabbitMQ - это программное обеспечение брокера сообщений с открытым исходным кодом (иногда называемое промежуточным программным обеспечением, ориентированным на сообщения), которое реализует протокол расширенной очереди сообщений (AMQP). Сервер RabbitMQ написан на языке программирования Erlang и построен на платформе Open Telecom Platform для кластеризации и аварийного переключения. Клиентские библиотеки для взаимодействия с брокером доступны для всех основных языков программирования.