RabbitMQ Exchanges

I rabbitmq, når producenten opretter en meddelelse, der ikke sendes direkte til en kø, sendes meddelelsen først til exchanges, hvorefter en routing agent læser og sender den til den relevante kø ved hjælp af header-attributter, bindinger og routing-nøgler.

RabbitMQ Exchange Types

I rabbitmq har vi en fire type Exchanges er tilgængelige for at dirigere meddelelsen på forskellige måder.

Følgende er de forskellige typer udvekslinger, der er tilgængelige i rabbitmq.

  • Direct
  • Fanout
  • Topic
  • Headers

RabbitMQ Direct Exchange

I rabbitmq vil direkte udveksling levere en besked til køerne baseret på besked-routing-nøglen. I direkte udveksling videresendes meddelelsen til de køer, hvis bindingsnøgle passer nøjagtigt til meddelelsens routingnøgle.

Følgende er den billedlige repræsentation af meddelelsesflowet i rabbit direct exchange.

RabbitMQ Direct Exchange Process Flow Diagram

RabbitMQ Fanout Exchange

I rabbitmq vil fanout exchange videresende meddelelser til alle de køer, der er bundet til den.

Følgende er den billedlige repræsentation af meddelelsesstrømmen i rabbitmq fanout exchange.RabbitMQ Fanout Exchange Process Flow Diagram

RabbitMQ Topic Exchange

I rabbitmq udfører topic exchange et wildcard-match mellem routingnøglen og det routingmønster, der er angivet i bindingen, for at offentliggøre en meddelelse til køen.

Det følgende er en billedlig fremstilling af meddelelsesflowet i rabbitmq topic exchange.

RabbitMQ Topic Exchange Process Flow Diagram

RabbitMQ Headers Exchange

I rabbitmq vil headers exchanges bruge beskedhovedattributterne til routing.

Følgende er den billedlige repræsentation af beskedflowet i rabbitmq headers exchange.

RabbitMQ Headers Exchange Process Flow Diagram

Nu vil vi se, hvordan man tilføjer udvekslinger i rabbitmq ved hjælp af web management plugin.

RabbitMQ Create Exchange

For at oprette nye udvekslinger skal du først åbne rabbtimq web management portal, indtaste et standard legitimationsoplysninger for at logge ind og derefter vælge Exchanges-fanen.

RabbitMQ Server Web Management Login Screen

Når du har navigeret til fanen Exchanges, vil du se “Add a new exchange panel”, klik blot på dette panel for at udvide, og det vil indeholde forskellige egenskaber til at oprette en ny udveksling som vist nedenfor.

Skabelse af en ny udveksling i rabbitmq

RabbitMQ Exchange Properties

Følgende er de forskellige typer af egenskaber, som vi skal udfylde for at oprette en ny udveksling i rabbitmq.

Property Description
Name Navnet vil være et udvekslingsnavn, som du vil indstille, og det skal være unikt.
Type Du kan vælge den nødvendige udvekslingstype, enten topic eller fanout osv. baseret på dine krav.
Durability Gennem brug af durability-egenskaber (Durable, Transient) kan vi få meddelelsen til at overleve, selv efter genstart af serveren. Hvis vi vælger Durable, vil meddelelsen overleve selv efter genstart af serveren. Hvis vi vælger Tansient, vil meddelelsen ikke fungere efter genstart af serveren.
Auto Delete Ved hjælp af auto delete-egenskaben kan vi indstille, om en udveksling kan slette, hvis vi ophæver den tildelte kø.
Internal Hvis vi indstiller denne egenskab til ja, kan udvekslingen ikke bruges direkte af udgivere, men kun når den er bundet til andre udvekslinger.
Alternate-exchange Hvis der er et problem med at offentliggøre en meddelelse til en udveksling, kan vi ved hjælp af denne egenskab angive en alternativ udveksling til at sende en meddelelse til køen.

Når vi har indtastet alle de nødvendige oplysninger, skal vi klikke på knappen Tilføj udveksling for at oprette en ny udveksling som vist nedenfor.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.