Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 3645|Ответ: 0

Подробное объяснение архитектуры сообщений RabbitMQ AMQP

[Скопировать ссылку]
Опубликовано 14.08.2022 23:32:43 | | | |
Введение в протокол AMQP

AMQP (Advanced Message Queueuing Protocol) — это стандартный протокол прикладного уровня, предоставляющий унифицированные сервисы обмена сообщениями и являющийся открытым стандартом для протоколов прикладного уровня, предназначенных для промежуточного программного обеспечения, ориентированного на сообщения. AMQP — это сетевой протокол для передачи асинхронных сообщений между процессами.

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

Основные характеристики AMQP — ориентированность на сообщения, очередь, маршрутизация (включая peer-to-peer и публикацию/подписку), надёжность и безопасность. AMQP обеспечивает поведение поставщиков сообщений и клиентов, обеспечивая истинную совместимость между разными поставщиками.

Подробное объяснение протокола AMQP
https://www.itsvse.com/thread-10347-1-1.html

Маршрутизирующие сообщения

В архитектуре AMQP любая успешная маршрутизация сообщений состоит из трёх частей:

  • Обмен: где продюсеры публикуют сообщения
  • Очереди: где потребители получают сообщения
  • Привязки: Как сообщения передаются от коммутатора к определённой очереди


Обмены и привязки

Так как же сообщение попадает в очередь? Когда вы хотите передать сообщение потребителю, сначала нужно отправить его обменнику. Затем, основываясь на определённых правилах или ключах маршрутизации, RabbitMQ решает, в какую очередь ему доставлять сообщения.

Правила — или ключи маршрутизации — позволяют привязать очередь к бирже. RabbitMQ попытается сопоставить ключ маршрутизации в сообщении с ключом, используемым в привязке. Сообщение затем доставляется в очередь по одному из четырёх типов обмена: fanout, topic, direct, header



Обмен фанаут

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

Обмен темами

В этом виде обмена сообщения отправляются в очередь на основе ключа маршрутизации. Это означает, что сообщения, отправляемые в обмен темами, должны иметь определённый ключ маршрутизации, который должен представлять собой список слов, разделённых точками (например, 'acs.deviceoperations.'). Ограничение формулировки составляет 255 байт.

Ключ связки должен быть в том же формате, что и ключ маршрутизации. Таким образом, сообщения, отправленные с определённым ключом маршрутизации, будут доставляться в каждую очередь с соответствующим ключом связывания.

Клавиши связывания позволяют использовать следующие правила выражения:

*(звездочка) может заменить только одно слово
# (хеш) может заменить ноль или более слов
Когда очередь связана ключом «#» (хеш), она получает все сообщения независимо от ключа маршрутизации, как в обмене Fanout.

Прямой обмен

Когда объявляется очередь, она будетАвтоматическое привязывание к коммутатору, который использует имя очереди в качестве ключа маршрутизации。 Если ключ маршрутизации совпадает, сообщение доставляется в соответствующую очередь.

Обмен заголовками

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

(Конец)





Предыдущий:Подробное объяснение протокола AMQP
Следующий:[Поворот]. Оптимизации производительности NET — быстрое обхождение коллекций списков
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com