Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3645|Odpoveď: 0

Podrobné vysvetlenie architektúry správ RabbitMQ AMQP

[Kopírovať odkaz]
Zverejnené 14. 8. 2022 23:32:43 | | | |
Úvod do protokolu AMQP

AMQP (Advanced Message Queuing Protocol) je protokol aplikačnej vrstvy, ktorý poskytuje jednotné komunikačné služby a je otvoreným štandardom pre aplikačné protokoly navrhnuté pre middleware orientovaný na správy. AMQP je sieťový protokol na prenášanie asynchrónnych správ medzi procesmi.

Klienti a middleware na správu založený na tomto protokole môžu doručovať správy bez obmedzení rôznymi klientskymi/middleware produktmi, rôznymi vývojovými jazykmi a podobne.

Hlavné charakteristiky AMQP sú orientácia na správy, frontovanie, smerovanie (vrátane peer-to-peer a publikovania/odberu), spoľahlivosť a bezpečnosť. AMQP presadzuje správanie poskytovateľov správ a klientov, čo umožňuje skutočnú interoperabilitu medzi rôznymi dodávateľmi.

Podrobné vysvetlenie protokolu AMQP
https://www.itsvse.com/thread-10347-1-1.html

Smerovanie správ

V architektúre AMQP pozostáva úspešné smerovanie správ z troch častí:

  • Výmena: Kde producenti publikujú správy
  • Fronty: Kde spotrebitelia prijímajú správy
  • Väzby: Ako sa správy smerujú zo switcha do konkrétnej fronty


Výmeny a väzby

Ako sa teda správa dostane do fronty? Kedykoľvek chcete doručiť správu spotrebiteľovi, musíte ju najskôr poslať výmenníkovi. Potom, na základe určitých pravidiel alebo smerovacích kľúčov, RabbitMQ rozhodne, do ktorej fronty má doručovať správy.

Pravidlá – alebo smerovacie kľúče – vám umožňujú naviazať frontu na výmenu. RabbitMQ sa pokúsi priradiť smerovací kľúč v správe k použitému v prirade. Správa je potom doručená do fronty na základe jedného zo štyroch typov výmeny: fanout, téma, priamy, hlavička



Fanout Exchange

Tento typ výmeny vysiela všetky prijaté správy do všetkých frontov, ktoré sú naň naviazané. Akékoľvek smerovacie kľúče poskytnuté v publikovanej správe budú ignorované.

Výmena tém

Pri tomto type výmeny sa správy odosielajú do fronty na základe smerovacieho kľúča. To znamená, že správy posielané do výmeny tém musia mať špecifický smerovací kľúč, ktorým musí byť zoznam slov oddelených bodmi (napr. 'acs.deviceoperations.'). Limit slov je 255 bajtov.

Kľúč viazania musí byť v rovnakom formáte ako smerovací kľúč. Preto správy odoslané s konkrétnym smerovacím kľúčom budú doručené do každej fronty viazanej s príslušným väzbovým kľúčom.

Kľúče na viazanie umožňujú nasledujúce pravidlá výrazu:

*(hviezdička) môže nahradiť len jedno slovo
# (hash) môže nahradiť nula alebo viac slov
Keď je fronta viazaná kľúčom "#" (hash), dostane všetky správy bez ohľadu na smerovací kľúč, rovnako ako pri Fanout fan-out výmene.

Priama výmena

Keď je fronta deklarovaná, budeAutomaticky sa naviažte na prepínač, ktorý používa názov fronty ako smerovací kľúč。 Ak sa smerovací kľúč zhoduje, správa je doručená do príslušnej fronty.

Výmena hlavičiek

Prepínače hlavičiek sú do istej miery podobné prepínaniu tém, ale na rozdiel od prepínania tém je smerovanie založené na kľúčoch trasy a hodnoty smerovania hlavičkových prepínačov sú založené na hlavičkových dátach správy.
Kľúč pre smerovanie medzi témami je iba reťazec, zatiaľ čo hlavičkový prepínač môže byť celé číslo aj hash.

(Koniec)





Predchádzajúci:Podrobné vysvetlenie protokolu AMQP
Budúci:[Otoč]. Optimalizácie výkonu NET – rýchle prechádzanie zoznamových kolekcií
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com