RabbitMQ Exchanges

In rabbitmq, quando il produttore crea un messaggio che non sarà direttamente inviato ad una coda, invece prima il messaggio sarà inviato agli scambi, poi dopo che un agente di routing lo legge e lo invia alla coda appropriata con l’aiuto di attributi di intestazione, binding e chiavi di routing.

Tipi di scambio RabbitMQ

In rabbitmq, abbiamo quattro tipi di scambi disponibili per instradare il messaggio in modi diversi.

Seguono i diversi tipi di scambio disponibili in rabbitmq.

  • Diretto
  • Fanout
  • Topic
  • Headers

RabbitMQ Direct Exchange

In rabbitmq, lo scambio diretto consegna i messaggi alle code in base alla chiave di routing del messaggio. Nello scambio diretto, il messaggio viene instradato alle code la cui chiave di binding corrisponde esattamente alla chiave di instradamento del messaggio.

Di seguito la rappresentazione pittorica del flusso dei messaggi nello scambio diretto rabbit.

RabbitMQ Direct Exchange Process Flow Diagram

RabbitMQ Fanout Exchange

In rabbitmq, fanout exchange instrada i messaggi a tutte le code che sono legate ad esso.

Di seguito la rappresentazione grafica del flusso dei messaggi in rabbitmq fanout exchange.RabbitMQ Fanout Exchange Process Flow Diagram

RabbitMQ Topic Exchange

In rabbitmq, topic exchange esegue una corrispondenza jolly tra la chiave di routing e lo schema di routing specificato nel binding per pubblicare un messaggio nella coda.

Di seguito la rappresentazione grafica del flusso dei messaggi in rabbitmq topic exchange.

Diagramma del flusso di processo dello scambio di argomenti RabbitMQ

Scambio di intestazioni RabbitMQ

In rabbitmq, gli scambi di intestazioni useranno gli attributi dell’intestazione del messaggio per l’instradamento.

Di seguito la rappresentazione pittorica del flusso di messaggi nello scambio di intestazioni rabbitmq.

RabbitMQ Headers Exchange Process Flow Diagram

Ora vedremo come aggiungere scambi in rabbitmq usando il plugin di gestione web.

RabbitMQ Create Exchange

Per creare nuovi scambi, prima apri il portale di gestione web rabbtimq, inserisci le credenziali di default per accedere e poi scegli la scheda Exchanges.

Schermo di accesso alla gestione web del server RabbitMQ

Dopo aver navigato nella scheda Exchanges, vedrai “Add a new exchange panel” basta cliccare su quel pannello per espanderlo e questo conterrà diverse proprietà per creare un nuovo scambio come mostrato di seguito.

Creazione di un nuovo scambio in rabbitmq

Proprietà dello scambio RabbitMQ

Seguono i diversi tipi di proprietà che dobbiamo compilare per creare un nuovo scambio in rabbitmq.

Proprietà Descrizione
Nome Il nome sarà un nome di scambio che imposterai e deve essere unico.
Type Puoi selezionare il tipo di scambio richiesto o topic o fanout, ecc. in base alle tue esigenze.
Durability Utilizzando le proprietà Durability (Durable, Transient), possiamo far sopravvivere il messaggio anche dopo il riavvio del server. Se selezioniamo Durable, allora il messaggio sopravviverà anche dopo il riavvio del server. Nel caso, se selezioniamo Tansient, allora il messaggio non sarà in servizio dopo il riavvio del server.
Auto Delete Utilizzando la proprietà auto delete, possiamo impostare se uno scambio può cancellare se scolleghiamo la coda assegnata.
Internal Se impostiamo questa proprietà sì, allora lo scambio non può essere usato direttamente dagli editori, ma solo quando legato ad altri scambi.
Alternate-exchange Se c’è un problema nella pubblicazione del messaggio allo scambio, allora usando questa proprietà, possiamo specificare uno scambio alternativo per inviare un messaggio alla coda.

Una volta inseriti tutti i dettagli richiesti, facciamo clic sul pulsante Add exchange per creare un nuovo scambio come mostrato di seguito.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.