I rabbitmq, när producenten skapar ett meddelande som inte skickas direkt till en kö, skickas meddelandet först till exchanges, och därefter läser och skickar en routing agent det till lämplig kö med hjälp av headerattribut, bindningar och routingnycklar.
RabbitMQ Exchange Types
I rabbitmq har vi fyra typer av Exchanges som är tillgängliga för att dirigera meddelandet på olika sätt.
Följande är de olika typerna av utbyten som finns i rabbitmq.
- Direkt
- Fanout
- Topic
- Headers
RabbitMQ Direct Exchange
I rabbitmq kommer direktutbytet att leverera ett meddelande till köerna baserat på nyckeln för meddelandehantering. Vid direktutbyte dirigeras meddelandet till de köer vars bindningsnyckel exakt stämmer överens med meddelandets routningsnyckel.
Följande är en bildlig representation av meddelandeflödet i rabbit direktutbyte.
RabbitMQ Fanout Exchange
I rabbitmq kommer fanout exchange att dirigera meddelanden till alla de köer som är bundna till den.
Följande är den bildliga representationen av meddelandeströmningen i rabbitmq fanout exchange.
RabbitMQ Topic Exchange
I rabbitmq kommer topic exchange att utföra en wildcard-matchning mellan routningsnyckeln och routningsmönstret som specificeras i bindningen för att publicera ett meddelande till kön.
Följande är den bildliga representationen av meddelandeströmningen i rabbitmq topic exchange.
RabbitMQ Headers Exchange
I rabbitmq kommer headers exchanges att använda meddelandeheaderattributen för routning.
Följande är den bildliga representationen av meddelandeströmningen i rabbitmq headers exchange.
Nu ska vi se hur man lägger till utbyten i rabbitmq med hjälp av webbhanteringsplugin.
RabbitMQ Create Exchange
För att skapa nya utbyten öppnar du först rabbitmq webbhanteringsportal, anger en standardreferens för att logga in och väljer sedan fliken Exchanges.
När du har navigerat till fliken Exchanges kommer du att se “Add a new exchange panel”, klicka bara på den panelen för att expandera och den kommer att innehålla olika egenskaper för att skapa ett nytt utbyte som visas nedan.
RabbitMQ Exchange Properties
Följande är de olika typerna av egenskaper som vi behöver fylla för att skapa ett nytt utbyte i rabbitmq.
Property | Description |
---|---|
Name | Namnet kommer att vara ett namn på utbytet som du kommer att ange och det måste vara unikt. |
Type | Du kan välja önskad utbytestyp, antingen topic eller fanout, etc. baserat på dina krav. |
Durability | Med hjälp av egenskaper för durability (Durable, Transient) kan vi se till att meddelandet överlever även efter att servern har startats om. Om vi väljer Durable kommer meddelandet att överleva även efter omstart av servern. Om vi väljer Tansient kommer meddelandet inte att fungera efter omstart av servern. |
Auto Delete | Med hjälp av egenskapen auto delete kan vi ställa in om ett utbyte kan raderas om vi tar bort tilldelad kö. |
Internal | Om vi ställer in den här egenskapen på ja, får utbytet inte användas direkt av utgivare, utan endast när det är bundet till andra utbyten. |
Alternate-exchange | Om det finns ett problem med att publicera meddelanden till växeln kan vi med hjälp av den här egenskapen ange en alternativ växel för att skicka ett meddelande till kön. |
När vi har angett alla uppgifter som krävs klickar vi på knappen Add exchange (Lägg till växel) för att skapa en ny växel som visas nedan.