Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3645|Atbildi: 0

Detalizēts skaidrojums par RabbitMQ AMQP ziņojumu arhitektūru

[Kopēt saiti]
Publicēts 14.08.2022 23:32:43 | | | |
Ievads AMQP protokolā

AMQP (Advanced Message Queuing Protocol) ir lietojumprogrammu slāņa standarta protokols, kas nodrošina vienotus ziņojumapmaiņas pakalpojumus un ir atvērts standarts lietojumprogrammu slāņa protokoliem, kas paredzēti uz ziņojumu orientētai starpprogrammatūrai. AMQP ir tīkla protokols asinhronu ziņojumu nodošanai starp procesiem.

Klienti un ziņojumu starpprogrammatūra, kas balstīta uz šo protokolu, var piegādāt ziņojumus bez ierobežojumiem ar dažādiem klientu/starpprogrammatūras produktiem, dažādām izstrādes valodām utt.

AMQP galvenās īpašības ir orientēts uz ziņojumu, rindā, maršrutēšana (ieskaitot vienādranga un publicēšanu / abonēšanu), uzticamība un drošība. AMQP nodrošina ziņojumu sniedzēju un klientu uzvedību, nodrošinot patiesu sadarbspēju starp dažādiem piegādātājiem.

AMQP protokola detalizēts skaidrojums
https://www.itsvse.com/thread-10347-1-1.html

Maršrutēšanas ziņojumi

AMQP arhitektūrā jebkura veiksmīga ziņojumu maršrutēšana sastāv no trim daļām:

  • Apmaiņa: kur ražotāji publicē ziņojumus
  • Rindas: kur patērētāji saņem ziņojumus
  • Saistījumi: kā ziņojumi tiek maršrutēti no slēdža uz noteiktu rindu


Apmaiņa un saistīšana

Tātad, kā ziņojums nonāk rindā? Ikreiz, kad vēlaties piegādāt ziņojumu patērētājam, vispirms tas jānosūta apmaiņas punktam. Pēc tam, pamatojoties uz noteiktiem noteikumiem vai maršrutēšanas atslēgām, RabbitMQ izlems, kurai rindai jāpiegādā ziņojumi.

Kārtulas jeb maršrutēšanas atslēgas ļauj piesaistīt rindu biržai. RabbitMQ mēģinās saskaņot maršrutēšanas atslēgu ziņojumā ar saistījumā izmantoto atslēgu. Pēc tam ziņojums tiek piegādāts rindā, pamatojoties uz vienu no četriem apmaiņas veidiem: fanout, tēma, tiešais, galvene



Fanout apmaiņa

Šāda veida apmaiņa pārraida visus saņemtos ziņojumus visām rindām, kas tai ir saistītas. Visas maršrutēšanas atslēgas, kas sniegtas kopā ar publicēto ziņojumu, tiks ignorētas.

Tēmu apmaiņa

Šāda veida apmaiņā ziņojumi tiek nosūtīti uz rindu, pamatojoties uz maršrutēšanas atslēgu. Tas nozīmē, ka ziņojumiem, kas nosūtīti uz tēmu apmaiņu, ir jābūt īpašai maršrutēšanas atslēgai, kurai jābūt vārdu sarakstam, kas atdalīts ar punktiem (piemēram, "acs.deviceoperations"). Formulējuma ierobežojums ir 255 baiti.

Saistīšanas atslēgai jābūt tādā pašā formātā kā maršrutēšanas atslēgai. Tāpēc ziņojumi, kas nosūtīti ar noteiktu maršrutēšanas atslēgu, tiks piegādāti katrai rindai, kas saistīta ar atbilstošu saistīšanas atslēgu.

Saistīšanas atslēgas pieļauj šādas izteiksmes kārtulas:

*(zvaigznīte) var aizstāt tikai vienu vārdu
# (jaucējkods) var aizstāt nulli vai vairāk vārdu
Ja rinda ir saistīta ar "#" (hash) saistīšanas atslēgu, tā saņems visus ziņojumus neatkarīgi no maršrutēšanas atslēgas, tāpat kā Fanout fan-out apmaiņā.

Tiešā apmaiņa

Kad rinda ir izsludināta, tāAutomātiska piesaiste slēdzim, kas kā maršrutēšanas atslēgu izmanto rindas nosaukumu。 Ja maršrutēšanas atslēga sakrīt, ziņojums tiek piegādāts atbilstošajā rindā.

Galvenes apmaiņa

Galvenes slēdži ir nedaudz līdzīgi tēmu slēdžiem, bet atšķirībā no tēmu slēdžiem maršrutēšana ir balstīta uz maršruta atslēgām, un galvenes slēdžu maršrutēšanas vērtības ir balstītas uz ziņojuma galvenes datiem.
Tēmas slēdža maršrutēšanas atslēga ir tikai virkne, bet galvenes slēdzis var būt vesels skaitlis un jaucējkods.

(Beigas)





Iepriekšējo:AMQP protokola detalizēts skaidrojums
Nākamo:[Pagrieziens]. NET veiktspējas optimizācija - ātri šķērsojiet sarakstu kolekcijas
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com