RabbitMQ Uitwisselingen

In rabbitmq, wanneer een producent een bericht maakt dat niet direct naar een wachtrij wordt gestuurd, in plaats daarvan wordt het bericht eerst naar uitwisselingen gestuurd, daarna leest een routing agent het en stuurt het naar de juiste wachtrij met behulp van header attributen, bindingen, en routing keys.

RabbitMQ Exchange Types

In rabbitmq, hebben we een viertal type Exchanges beschikbaar om het bericht op verschillende manieren te routeren.

Volgende zijn de verschillende type uitwisselingen beschikbaar in rabbitmq.

  • Direct
  • Fanout
  • Topic
  • Headers

RabbitMQ Direct Exchange

In rabbitmq, directe uitwisseling zal een bericht aan de wachtrijen afleveren, gebaseerd op de bericht routing sleutel. Bij directe uitwisseling wordt het bericht naar de wachtrijen geleid waarvan de bindingssleutel precies overeenkomt met de routingsleutel van het bericht.

Hieronder volgt een grafische weergave van de berichtenstroom bij directe uitwisseling met rabbit.

RabbitMQ Direct Exchange Process Flow Diagram

RabbitMQ Fanout Exchange

In rabbitmq, zal fanout exchange berichten routeren naar alle wachtrijen die eraan gebonden zijn.

Hieronder ziet u de afbeelding van de berichtenstroom in rabbitmq fanout exchange.RabbitMQ Fanout Exchange Process Flow Diagram

RabbitMQ Topic Exchange

In rabbitmq, zal topic exchange een wildcard match uitvoeren tussen de routing key en het routing patroon gespecificeerd in de binding om een bericht naar een wachtrij te publiceren.

Hieronder ziet u de picturale representatie van de berichtenstroom in rabbitmq topic exchange.

RabbitMQ Topic Exchange Process Flow Diagram

RabbitMQ Headers Exchange

In rabbitmq, headers exchanges zullen de bericht header attributen gebruiken voor routing.

Hieronder ziet u een afbeelding van de berichtstroom in rabbitmq headers exchange.

RabbitMQ Headers Exchange Process Flow Diagram

Nu zullen we zien hoe we uitwisselingen in rabbitmq kunnen toevoegen met behulp van web management plugin.

RabbitMQ Create Exchange

Om nieuwe uitwisselingen te creëren, open eerst rabbtimq web management portal, voer een standaard inloggegevens in en kies dan Exchanges tab.

RabbitMQ Server Web Management Login Scherm

Na het navigeren naar Exchanges tab, zult u “Add a new exchange panel” zien. Klik op dat paneel om het uit te vouwen en het zal verschillende eigenschappen bevatten om een nieuwe uitwisseling aan te maken, zoals hieronder getoond.

Een nieuwe uitwisseling in rabbitmq aanmaken

RabbitMQ Uitwisselingseigenschappen

Hieronder staan de verschillende eigenschappen die we moeten invullen om een nieuwe uitwisseling in rabbitmq aan te maken.

Property Description
Name De naam zal een exchange naam zijn die u instelt en deze moet uniek zijn.
Type U kunt het vereiste uitwisselingstype selecteren, hetzij topic of fanout, enz. op basis van uw vereisten.
Duurzaamheid Door gebruik te maken van de eigenschappen Duurzaamheid (Duurzaam, Tijdelijk), kunnen we ervoor zorgen dat het bericht blijft bestaan, zelfs nadat de server opnieuw is opgestart. Als we Durable selecteren, dan zal het bericht blijven bestaan, zelfs na een herstart van de server. In het geval dat we Tansient selecteren, dan zal het bericht geen dienst doen na een herstart van de server.
Auto Delete Door gebruik te maken van de auto delete eigenschap, kunnen we instellen of een uitwisseling kan verwijderen als we de toegewezen wachtrij ontkoppelen.
Internal Als we deze eigenschap ja zetten, dan mag de uitwisseling niet rechtstreeks door uitgevers worden gebruikt, maar alleen als ze aan andere uitwisselingen is gekoppeld.
Alternate-exchange Als er een probleem is bij het publiceren van een bericht naar een exchange, dan kunnen we met behulp van deze eigenschap een alternatieve exchange opgeven om een bericht naar de wachtrij te sturen.

Als we alle vereiste gegevens hebben ingevoerd, klikken we op de knop Exchange toevoegen om een nieuwe exchange te maken, zoals hieronder is weergegeven.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.