Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3645|Răspunde: 0

Explicație detaliată a arhitecturii mesajelor AMQP RabbitMQ

[Copiază linkul]
Postat pe 14.08.2022 23:32:43 | | | |
Introducere în protocolul AMQP

AMQP (Advanced Message Queuing Protocol) este un protocol standard la nivel de aplicație care oferă servicii de mesagerie unificată și este un standard deschis pentru protocoalele la nivel de aplicație concepute pentru middleware orientat pe mesaje. AMQP este un protocol de rețea pentru transmiterea mesajelor asincrone între procese.

Clienții și middleware-ul de mesaje bazate pe acest protocol pot livra mesaje fără a fi restricționate de diferite produse client/middleware, limbaje de dezvoltare diferite etc.

Principalele caracteristici ale AMQP sunt orientarea pe mesaje, coada în coadă, rutarea (inclusiv peer-to-peer și publish/subscribe), fiabilitatea și securitatea. AMQP impune comportamentul furnizorilor de mesaje și al clienților, permițând o interoperabilitate reală între diferiți furnizori.

Explicație detaliată a protocolului AMQP
https://www.itsvse.com/thread-10347-1-1.html

Mesaje de rutare

În arhitectura AMQP, orice rutare de mesaje reușită constă din trei părți:

  • Schimb: Unde producătorii publică mesaje
  • Cozi: Unde consumatorii primesc mesaje
  • Legături: Cum sunt direcționate mesajele de la comutator către o coadă specifică


Schimburi și legături

Deci, cum ajunge mesajul la coadă? Ori de câte ori dorești să transmiți un mesaj unui consumator, trebuie mai întâi să-l trimiți către schimbător. Apoi, pe baza anumitor reguli sau chei de rutare, RabbitMQ va decide la ce coadă să livreze mesajele.

Regulile – sau cheile de rutare – îți permit să asociezi o coadă la schimb. RabbitMQ va încerca să potrivească cheia de rutare din mesaj cu cheia folosită în legare. Mesajul este apoi livrat în coadă pe baza unuia dintre cele patru tipuri de schimb: fanout, topic, direct, header



Schimb de fani

Acest tip de schimb transmite toate mesajele primite către toate cozile legate de el. Orice chei de rutare furnizate cu mesajul publicat vor fi ignorate.

Schimb de teme

În acest tip de schimb, mesajele sunt trimise către o coadă bazată pe cheia de rutare. Aceasta înseamnă că mesajele trimise către schimbul de subiecte trebuie să aibă o cheie de rutare specifică, care trebuie să fie o listă de cuvinte, separate prin puncte (de exemplu, 'acs.deviceoperations.'). Limita de formulare este de 255 de octeți.

Cheia de legare trebuie să aibă același format ca și cheia de rutare. Prin urmare, mesajele trimise cu o cheie de rutare specifică vor fi livrate fiecărei cozi legate cu o cheie de legătură corespunzătoare.

Cheile de legare permit următoarele reguli de expresie:

*(asterisc) poate înlocui un singur cuvânt
# (hash) poate înlocui zero sau mai multe cuvinte
Când o coadă este legată cu o cheie de legătură "#" (hash), va primi toate mesajele indiferent de cheia de rutare, la fel ca într-un schimb Fanout fan-out.

Schimb direct

Când o coadă este declarată, aceasta vaSe leagă automat de un switch care folosește numele cozii ca cheie de rutare。 Dacă cheia de rutare se potrivește, mesajul este livrat cozii corespunzătoare.

Schimb de antete

Switch-urile header sunt oarecum similare cu switch-urile topic, dar, spre deosebire de switch-urile topic, rutarea se bazează pe chei de rutare, iar valorile de rutare ale switch-urilor header se bazează pe datele antetului mesajului.
Cheia de rutare a comutatorului topic este doar un șir, în timp ce comutatorul de antet poate fi un întreg și un hash.

(Sfârșit)





Precedent:Explicație detaliată a protocolului AMQP
Următor:[Întoarce]. Optimizări de performanță NET - parcurgerea rapidă a colecțiilor de liste
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com