Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 3645|Отговор: 0

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

[Копирай линк]
Публикувано в 14.08.2022 г. 23:32:43 ч. | | | |
Въведение в протокола AMQP

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

Клиентите и междинният софтуер за съобщения, базирани на този протокол, могат да доставят съобщения без ограничения от различни клиентски/междинни продукти, различни езици за разработка и др.

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

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

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

В AMQP архитектурата всяко успешно маршрутизиране на съобщения се състои от три части:

  • Обмен: Където продуцентите публикуват съобщения
  • Опашки: Където потребителите получават съобщения
  • Връзки: Как съобщенията се насочват от суича към конкретна опашка


Обмени и обвързвания

Как тогава съобщението достига до опашката? Винаги когато искате да предадете съобщение на потребител, първо трябва да го изпратите на обменника. След това, въз основа на определени правила или ключове за маршрутизиране, RabbitMQ решава към коя опашка да доставя съобщения.

Правилата – или ключовете за маршрутизиране – ви позволяват да свържете опашка към борсата. RabbitMQ ще се опита да съпостави маршрутизиращия ключ в съобщението с ключа, използван при свързването. Съобщението след това се доставя до опашката според един от четирите типа обмен: разширен, тема, директен, хедър



Размяна на фанаут

Този тип обмен излъчва всички получени съобщения към всички опашки, свързани с нея. Всички ключове за маршрутизация, предоставени с публикуваното съобщение, ще бъдат игнорирани.

Обмен на теми

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

Ключът за свързване трябва да е в същия формат като ключа за маршрутизация. Затова съобщенията, изпратени с конкретен ключ за маршрутизация, ще се доставят до всяка опашка, свързана с съвпадащ свързващ ключ.

Клавишите за свързване позволяват следните правила за изразяване:

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

Директен обмен

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

Размяна на заглавия

Header превключвателите са донякъде подобни на topic switch-ите, но за разлика от topic switch-ите, маршрутизацията се базира на маршрутни ключове, а стойностите на header switch-овете се базират на данните от заглавието на съобщението.
Ключът за маршрутизиране на темата е само низ, докато превключвателят на заглавието може да бъде цяло число и хеш.

(Край)





Предишен:Подробно обяснение на протокола AMQP
Следващ:[Завърти]. NET оптимизации на производителността - бързо преминаване през колекции от списъци
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com