Ressourser:
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: Hvis true, overlever køen en genstart af RabbitMQ-serveren.
  • exclusive: Hvis true, kan køen kun bruges af den forbindelse, der oprettede den.
  • autoDelete: Hvis true, 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: Hvis true, overlever exchangen en genstart af RabbitMQ-serveren.
  • autoDelete: Hvis true, 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.

Opdateret: