Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • exchange - точка обмена, которая должна использоваться для маршрутизации сообщения на брокере;
  • routing.key - метка маршрутизации, которая используется при маршрутизации;
  • reply_to.exchange - точка обмена, которая должна использоваться при отправке ответного сообщения;
  • reply_to.routing_key - метка маршрутизации, которая должна использоваться при отправке ответного сообщения;
  • time_to_live - время жизни сообщения.

Точка обмена (Exchange)

Протокол AMQP регламентирует несколько типов точек обмена, которые отличаются принципами маршрутизации поступающих в них сообщений.Поддерживаются следующие типа точек обмена:

...

  • core.cp.'core_cluster_name'.'number_of_call_process_group'.'number_of_call_process'.qe - очередь используется для отправки сообщений из кластера Adapter в кластер Core;
  • ecss.pa.sip-t.'pa_sip_cluster_name'.init.q - очередь для приема инициирующих сообщений, поступающих в кластер адаптера SIP из кластера Core;
  • ecss.pa.sip-t.'pa_sip_cluster_name'.'session_identifier'.q - очередь для приема сообщений кластером адаптера SIP из кластера Core в рамках вызова;
  • ecss.pa.megaco.'pa_megaco_cluster_name'::'gateway_name'.init.q - очередь для приема инициирующих сообщений, поступающих в кластер адаптера Megaco из кластера Core;
  • ecss.pa.megaco.'pa_megaco_cluster_name'::'gateway_name'.'session_identifier'.q - очередь для приема сообщений, поступающих в кластер адаптера Megaco из кластера Core в рамках вызова;
  • tring_client'client_version'....q - очереди подсистемы контроля целостности tring системы ECSS-10;
  • ccn....q - очереди подсистемы распределенной командной консоли CoCon системы ECSS-10;
  • ecss.cm.... - очереди подсистемы синхронизации конфигурации Configuration Manager системы ECSS-10;
  • ecss.rps....q - очереди подсистемы обмена событиями, нотификациями, авариями RPS системы ECSS-10;
  • dds.bus....q - очереди распределенной подсистемы доступа к хранилищу конфигурационной информации DDS кластера DS системы ECSS-10;
  • mycelium.mgmt.... - очереди, используемые брокером для синхронизации в кластере Bus.

Правила связывания (Bindings)

Bindings - это правила связывания/маршрутизации, которые используются в точке обмена для маршрутизации сообщений в очереди.
Для того чтобы точка обмена E могла направлять сообщения в очередь Q необходимо, чтобы Q была связана с E.
Правило связывания может иметь дополнительный "routing key" атрибут, который используется в некоторых типах точек обмена.
Назначение "routing key" в том, чтобы выбрать определенные сообщения, размещенные в "exchange", и направить их в соответствующую очередь. Таким образом, "routing key" работает как фильтр.

Если сообщение не может быть смаршрутизировано в точке обмена (например, нет соответствующего правила связывания), то оно отбрасывается либо возвращается отправителю (зависит от настроек атрибутов сообщения).

Получатели (Consumers)

Получатель подписывается на сообщения определенной очереди. На сообщения очереди может быть подписано несколько получателей.
Также предусмотрен механизм эксклюзивной подписки на очередь, тогда получатель сообщений у очереди может быть только один.

Процесс доставки сообщения получателю

Получатели представляют собой приложения, которые обрабатывают получаемые сообщения, производят определенные манипуляции, могут отправить какой-то ответ. В процессе своей работы у получателя может произойти ошибка (в том числе в процессе обработки полученного сообщения), которая приведет к рестарту получателя. Также к подобным последствиям потенциально могут привести ошибки на сети.
Эти ситуации вызывают вопрос о том, когда брокеру можно удалить сообщение из очереди.

...

В процессе обработки сообщения получателем может сложиться ситуация когда получатель не может обработать сообщение (некорректная информация, какая-то ошибка в логике, недоступность подсистем и т.п.). Получатель может просигнализировать брокеру об ошибке обработки сообщения путем отправки ему сообщения "reject". В процессе отправки "reject" получатель может сигнализировать брокеру о том, что сообщение должно быть сброшено либо предоставлено другому получателю (зависит от прикладной логики и характера ошибки).

Механизм управления потоком сообщений к получателю

В AMQP введен очень полезный механизм ограничения количества сообщений, которые брокер отправляет одному получателю. Обычно такие механизмы называются "flow control" (механизм управления потоком сообщений).

...