Gå til innholdet

Dead-letter-kø

En dead-letter-kø lagrer utskilte meldinger for undersøkelse og kontrollert behandling på nytt.

Også kjent somDLQDead-letter queue
API-er og datakontrakter

En dead-letter-kø (DLQ) er en egen kø for meldinger som er tatt ut av normal behandling. Den gjør ubehandlede meldinger tilgjengelige for undersøkelse og kontrollert ny behandling. Konfigurasjonen avgjør hvilke meldinger som havner der; ikke enhver applikasjonsfeil sender automatisk en melding dit.

Utskilling trenger en vei tilbake

I et fiktivt integrasjonssystem inneholder melding E-81 en skjemaversjon som ikke støttes. I stedet for å forsøkes på nytt i det uendelige i normalflyten følger den den konfigurerte feilruten. Teamet registrerer feilårsak og meldingsidentitet slik at de kan spores. Etter retting av data eller tilpasning av konsumenten kan meldingen behandles målrettet på nytt, samtidig som doble virkninger forhindres.

I RabbitMQ er Dead-Letter Exchange (DLX) fordelingspunktet som sender meldingene videre til tilknyttede køer. Det er ikke selve DLQ-en. Årsaker kan være avvisning uten å legge meldingen tilbake, utløpt meldingsgyldighet eller konfigurerte grenser. Ruting og passende købindinger må være satt opp.

Overvåking, tilgangsrettigheter, lagring og en rutine for ny behandling hører med. DLQ-en er verken en fullført jobb eller en automatisk reparasjon. Videresendingen garanterer heller ikke mot tap: RabbitMQs standardmessige dead-lettering kan miste meldinger hvis målkøen ikke er tilgjengelig.

Kilder