Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3645|Odgovoriti: 0

Podrobna razlaga arhitekture sporočil RabbitMQ AMQP

[Kopiraj povezavo]
Objavljeno na 14. 08. 2022 23:32:43 | | | |
Uvod v protokol AMQP

AMQP (Advanced Message Queuing Protocol) je standardni protokol na aplikacijski ravni, ki zagotavlja enotne storitve sporočanja in je odprt standard za protokole na aplikacijski ravni, zasnovane za vmesno programsko opremo, usmerjeno v sporočila. AMQP je omrežni protokol za prenos asinhronih sporočil med procesi.

Odjemalci in programska oprema za sporočila, ki temeljijo na tem protokolu, lahko prenašajo sporočila brez omejitev z različnimi odjemalskimi/vmesnimi programi, različnimi razvojnimi jeziki itd.

Glavne značilnosti AMQP so usmerjenost v sporočila, vrstne vrste, usmerjanje (vključno z vrstniki in objavo/naročnino), zanesljivost in varnost. AMQP uveljavlja vedenje ponudnikov sporočil in odjemalcev, kar omogoča resnično interoperabilnost med različnimi ponudniki.

Podrobna razlaga protokola AMQP
https://www.itsvse.com/thread-10347-1-1.html

Usmerjevalna sporočila

V arhitekturi AMQP je vsako uspešno usmerjanje sporočil sestavljeno iz treh delov:

  • Izmenjava: Kjer producenti objavljajo sporočila
  • Vrste: Kjer potrošniki prejemajo sporočila
  • Vezave: Kako se sporočila usmerjajo iz stikala v določeno vrsto


Izmenjave in vezave

Kako torej sporočilo prispe do vrste? Kadarkoli želite potrošniku dostaviti sporočilo, ga morate najprej poslati izmenjevalcu. Nato bo RabbitMQ na podlagi določenih pravil ali usmerjevalnih ključev odločil, v katero čakalno vrsto naj dostavlja sporočila.

Pravila – ali usmerjevalni ključi – vam omogočajo, da na izmenjavo vežete vrsto. RabbitMQ bo poskušal uskladiti usmerjevalni ključ v sporočilu s ključem, uporabljenim v vezavi. Sporočilo se nato dostavi v vrsto na podlagi ene od štirih vrst izmenjav: fanout, topic, direct, header



Izmenjava Fanout

Ta vrsta izmenjave oddaja vsa prejeta sporočila v vse vrste, vezane nanjo. Vsi usmerjevalni ključi, ki so priloženi objavljenemu sporočilu, bodo prezrti.

Izmenjava tem

Pri tej vrsti izmenjave se sporočila pošiljajo v vrsto na podlagi usmerjevalnega ključa. To pomeni, da morajo imeti sporočila, poslana na tematsko izmenjavo, določen usmerjevalni ključ, ki mora biti seznam besed, ločenih po točkah (npr. 'acs.deviceoperations.'). Omejitev besedila je 255 bajtov.

Ključ za vezavo mora biti v enakem formatu kot usmerjevalni ključ. Zato bodo sporočila, poslana s specifičnim usmerjevalnim ključem, dostavljena vsaki vrsti z ustreznim vezavnim ključem.

Povezovalni ključi omogočajo naslednja pravila izraza:

*(zvezdica) lahko nadomesti le eno besedo
# (hash) lahko nadomesti nič ali več besed
Ko je vrsta vezana s ključem za vezavo "#" (zgoščenka), bo prejela vsa sporočila ne glede na usmerjevalni ključ, podobno kot pri izmenjavi Fanout fan-out.

Neposredna izmenjava

Ko je čakalna vrsta razglašena, boSamodejno se poveže s stikalom, ki uporablja ime vrste kot usmerjevalni ključ。 Če se usmerjevalni ključ ujema, se sporočilo dostavi v ustrezno vrsto.

Izmenjava glav

Stikala glave so nekoliko podobna preklopom tem, vendar je usmerjanje, za razliko od preklopov tem, osnovano na ključih za usmerjanje, vrednosti usmerjanja glavnih stikal pa na podlagi podatkov glave sporočila.
Ključ za usmerjanje za preklop teme je le niz, medtem ko je glavno stikalo lahko celo število in zgoščena točka.

(Konec)





Prejšnji:Podrobna razlaga protokola AMQP
Naslednji:[Obrat]. Optimizacije zmogljivosti NET – hitro prečkanje zbirk seznamov
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com