RabbitMQ, [KONFIGURATIONER] QueueDeclare og ExchangeDeclare.
RabbitMQ Docs (RabbitMQ Docs er exceptionel god synes jeg!)
Kort skitsering af de forskellige justeringer man kan gøre på QueueDeclare og ExchangeDeclare
QueueDeclare
Metoden QueueDeclare
bruges til at definere en kø i RabbitMQ. Her kan du specificere forskellige parametre:
-
queue
: Navnet på køen. Hvis du lader den være tom, vil RabbitMQ generere et unikt navn. -
durable
: Hvistrue
, overlever køen en genstart af RabbitMQ-serveren. -
exclusive
: Hvistrue
, kan køen kun bruges af den forbindelse, der oprettede den. -
autoDelete
: Hvistrue
, slettes køen automatisk, når den sidste forbindelse stopper med at bruge den. -
arguments
: Brugerdefinerede parametre for køen, såsom TTL (Time-To-Live) for beskeder.
ExchangeDeclare
Metoden ExchangeDeclare
bruges til at oprette en exchange, som styrer, hvordan beskeder distribueres til køer. Parametre inkluderer:
-
exchange
: Navnet på exchangen. -
type
: Typen af exchange (beskrives nedenfor). -
durable
: Hvistrue
, overlever exchangen en genstart af RabbitMQ-serveren. -
autoDelete
: Hvistrue
, slettes exchangen automatisk, når den ikke længere har nogle køer bundet til sig. -
arguments
: Brugerdefinerede parametre for exchangen.
Exchange-typer
RabbitMQ understøtter flere typer exchanges:
- Direct Exchange: Beskeder sendes til køer baseret på en præcis routing key.
- Fanout Exchange: Sender beskeder til alle køer, der er bundet til exchangen, uanset routing key.
-
Topic Exchange: Muliggør beskedrouting baseret på mønstre i routing keys (fx
*.error
). - Headers Exchange: Bruger beskedheaders i stedet for routing keys til at matche køer.
Køtyper
- Standard Queue: En almindelig FIFO-kø (First In, First Out).
- Priority Queue: Tillader beskeder med højere prioritet at blive behandlet først.
- Lazy Queue: Gemmer beskeder på disk for at reducere hukommelsesforbrug.
- Quorum Queue: En køtype designet til høj tilgængelighed og dataintegritet.