Gå til indholdet

Dead-letter-kø

En dead-letter-kø opbevarer beskeder, der ikke kunne behandles, så de kan undersøges og behandles igen under kontrol.

Også kendt somDLQDead-letter queue
API'er og datakontrakter

En dead-letter-kø (DLQ) er en særskilt kø til beskeder, der er taget ud af den normale behandling. Den gør ubehandlede beskeder tilgængelige for undersøgelse og kontrolleret genbehandling. Konfigurationen afgør, hvilke beskeder der ender der; ikke enhver applikationsfejl sender automatisk en besked dertil.

Frasortering kræver en vej tilbage

I et fiktivt integrationssystem indeholder besked E-81 en skemaversion, der ikke understøttes. I stedet for at blive forsøgt igen uendeligt i det normale forløb følger den den konfigurerede fejlrute. Teamet registrerer fejlårsag og beskedidentitet, så de kan spores. Efter rettelse af data eller tilpasning af consumeren kan beskeden behandles målrettet igen, mens dobbelte virkninger forhindres.

I RabbitMQ er Dead-Letter Exchange (DLX) det fordelingspunkt, der sender beskederne videre til tilknyttede køer. Det er ikke selve DLQ’en. Årsager kan være afvisning uden genindsættelse, udløbet beskedgyldighed eller konfigurerede grænser. Routing og passende købindinger skal være sat op.

Overvågning, adgangsrettigheder, opbevaring og genbehandlingsprocedure hører med. DLQ’en er hverken en afsluttet opgave eller en automatisk reparation. Videresendelsen garanterer heller ikke mod tab: RabbitMQs standardmæssige dead-lettering kan miste beskeder, hvis målkøen ikke er tilgængelig.

Kilder