În rabbitmq, atunci când producătorul creează un mesaj care nu va fi trimis direct la o coadă, în schimb, mai întâi mesajul va fi trimis la schimburi, după care un agent de rutare îl citește și îl trimite la coada corespunzătoare cu ajutorul atributelor antetului, al legăturilor și al cheilor de rutare.
Tipurile de schimburi RabbitMQ
În rabbitmq, avem patru tipuri de schimburi disponibile pentru a ruta mesajul în moduri diferite.
În continuare sunt prezentate diferitele tipuri de schimburi disponibile în rabbitmq.
- Direct
- Fanout
- Topic
- Headers
RabbitMQ Direct Exchange
În rabbitmq, schimbul direct va livra un mesaj către cozile de așteptare pe baza cheii de rutare a mesajelor. În schimbul direct, mesajul este direcționat către cozile de așteptare a căror cheie de legare se potrivește exact cu cheia de rutare a mesajului.
În continuare este reprezentarea picturală a fluxului de mesaje în schimbul direct rabbit.
RabbitMQ Fanout Exchange
În rabbitmq, fanout exchange va ruta mesajele către toate cozile de așteptare care sunt legate de el.
Continuarea este reprezentarea picturală a fluxului de mesaje în rabbitmq fanout exchange.
RabbitMQ Topic Exchange
În rabbitmq, schimbul de subiecte va efectua o potrivire de tip wildcard între cheia de rutare și modelul de rutare specificat în legătură pentru a publica un mesaj în coadă.
Continuarea este reprezentarea picturală a fluxului de mesaje în schimbul de subiecte rabbitmq.
RabbitMQ Headers Exchange
În rabbitmq, schimburile de antet vor utiliza atributele antetului mesajului pentru rutare.
Continuăm cu reprezentarea picturală a fluxului de mesaje în schimbul de antet rabbitmq.
Acum vom vedea cum să adăugăm schimburi în rabbitmq utilizând pluginul de gestionare web.
RabbitMQ Create Exchange
Pentru a crea noi schimburi, deschideți mai întâi portalul de gestionare web rabbtimq, introduceți un credențial implicit pentru a vă conecta și apoi alegeți fila Exchanges.
După ce ați navigat în fila Exchanges, veți vedea “Add a new exchange panel” (Adăugați un nou panou de schimb), trebuie doar să faceți clic pe acel panou pentru a-l extinde și acesta va conține diferite proprietăți pentru a crea un nou schimb, așa cum se arată mai jos.
Proprietăți ale schimbului RabbitMQ
În cele ce urmează sunt diferite tipuri de proprietăți pe care trebuie să le completăm pentru a crea un nou schimb în rabbitmq.
Proprietate | Descriere |
---|---|
Nume | Numele va fi un nume de schimb pe care îl veți seta și trebuie să fie unic. |
Type | Puteți selecta tipul de schimb necesar, fie topic, fie fanout, etc., în funcție de cerințele dumneavoastră. |
Durability | Prin utilizarea proprietăților de durabilitate (Durable, Transient), putem face ca mesajul să supraviețuiască chiar și după repornirea serverului. Dacă selectăm Durable, atunci mesajul va supraviețui chiar și după repornirea serverului. În cazul în care, dacă selectăm Tansient, atunci mesajul nu va rezista după repornirea serverului. |
Auto Delete | Prin utilizarea proprietății de ștergere automată, putem stabili dacă un schimb poate fi șters în cazul în care dezlegăm coada de așteptare atribuită. |
Internal | Dacă setăm această proprietate la “yes”, atunci schimbul nu poate fi utilizat direct de către editori, ci numai atunci când este legat de alte schimburi. |
Alternate-exchange | Dacă există o problemă în publicarea mesajelor către exchange, atunci, prin utilizarea acestei proprietăți, putem specifica un exchange alternativ pentru a trimite un mesaj la coadă. |
După ce introducem toate detaliile necesare, apoi facem clic pe butonul Add exchange (Adaugă exchange) pentru a crea un nou exchange, așa cum se arată mai jos.