Dead-letter-kö
En dead-letter-kö lagrar avskilda meddelanden för undersökning och kontrollerad ombearbetning.
En dead-letter-kö (DLQ) är en separat kö för meddelanden som har tagits ur den normala behandlingen. Den gör obehandlade meddelanden tillgängliga för undersökning och kontrollerad ombearbetning. Konfigurationen avgör vilka meddelanden som hamnar där; inte varje applikationsfel skickar automatiskt ett meddelande dit.
Avskiljning behöver en väg tillbaka
I ett fiktivt integrationssystem innehåller meddelande E-81 en schemaversion som inte stöds. I stället för att provas om i all oändlighet i det normala flödet följer det den konfigurerade felrutten. Teamet registrerar felorsak och meddelandeidentitet så att de går att spåra. Efter rättning av data eller anpassning av konsumenten kan meddelandet behandlas på nytt under kontroll, samtidigt som dubbla effekter förhindras.
I RabbitMQ är Dead-Letter Exchange (DLX) den fördelningspunkt som skickar meddelandena vidare till bundna köer. Den är inte själva DLQ:n. Orsaker kan vara avvisning utan återköning, utgången giltighetstid eller konfigurerade gränser. Routning och lämpliga köbindningar måste finnas.
Övervakning, behörigheter, lagring och en rutin för ombearbetning behövs också. DLQ:n är varken en slutförd uppgift eller en automatisk reparation. Vidarebefordran garanterar inte heller mot förlust: RabbitMQ:s vanliga dead-lettering kan förlora meddelanden om målkön inte är tillgänglig.
Källor
Relaterade begrepp
- MeddelandekvittensEn meddelandekvittens talar om för brokern att en leverans har tagits emot eller behandlats enligt den överenskomna regeln.
- Transaktionell inboxEn transaktionell inbox använder beständiga meddelandeposter för att skydda lokal behandling mot dubbla leveranser.
- Retry-strategiStrategin anger vilka fel som ska prövas igen, med vilka pauser och till vilken gräns.
- Server-Sent EventsServer-Sent Events skickar textmeddelanden från server till klient via HTTP, exempelvis om ett bakgrundsjobbs förlopp.
- ETagEn ETag identifierar en viss representationsversion av en HTTP-resurs och stöder villkorade hämtningar eller ändringar.
- Cross-Origin Resource SharingCORS styr webbläsarens åtkomst till svar från en annan origin. Det ersätter varken API-inloggning eller behörighetskontroll.
Ditt projekt med ASES
Beskriv ditt projekt för oss. Vi hör av oss med en första bedömning.