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

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

Ключ

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

...

Типовой процесс доставки сообщения по протоколу AMQP можно отобразить следующим образом:        
  
 

Отправитель==отправка==>Точка обмена==маршрутизация==>Очередь==доставка==>Получатель
(Publisher)
(publish)
(Exchange)
(route)
(Queue)
(consumes)
(Consumer)


В процессе отправки сообщения отправитель устанавливает для сообщения различные параметры, которые влияют на процесс обработки и доставки сообщения.Ключевыми параметрами, которые используются в CSS-17, являются:

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


Точка обмена (Exchange).
Протокол AMQP регламентирует несколько типов точек обмена, которые отличаются принципами маршрутизации поступающих в них сообщений.Поддерживаются следующие типа точек обмена:
Direct exchange
Fanout exchange
Topic exchange
Headers exchange
В системе CSS-17 используется Direct Exchange.
В Direct Exchange маршрутизация входящих сообщений осуществляется в очереди на основании значения параметра "routing key" сообщения. Этот тип точки обмена идеален для организации unicast-потоков обмена сообщениями (можно организовать и multicast обмен).Direct Exchange работает следующим образом:
очередь Q связывается с точкой обмена с меткой маршрутизации routing.key=K;
когда новое сообщение поступает с меткой маршрутизации routing.key=R, то точка обмена маршрутизирует это сообщение в очередь Q, если R=K.
Direct exhange часто используется в ситуациях, когда нужно распределять задачи между несколькими однотипными обработчиками в режиме распределения нагрузки (round robin).
Схематически работа Direct exhcnage:

...