Naar de inhoud

Dead-letterqueue

Een dead-letterqueue bewaart apart gezette berichten voor onderzoek en gecontroleerde herverwerking.

Ook bekend alsDLQDead-letter queue
API's en datacontracten

Een dead-letterqueue (DLQ) is een aparte wachtrij voor berichten die uit de normale verwerking zijn gehaald. Ze maakt onverwerkte berichten beschikbaar voor onderzoek en gecontroleerde herverwerking. De configuratie bepaalt welke berichten er terechtkomen; niet elke applicatiefout stuurt een bericht er automatisch heen.

Apart zetten vraagt om een herstelroute

In een fictief integratiesysteem bevat bericht E-81 een niet-ondersteunde schemaversie. In plaats van eindeloos opnieuw te worden geprobeerd in de normale stroom volgt het de ingestelde foutroute. Het team legt foutreden en berichtidentiteit traceerbaar vast. Na correctie van de gegevens of aanpassing van de consumer kan het team dat bericht gericht opnieuw verwerken en dubbele effecten voorkomen.

In RabbitMQ is de Dead-Letter Exchange (DLX) het routeringspunt dat deze berichten naar gekoppelde wachtrijen doorstuurt. Het is niet zelf de DLQ. Redenen kunnen afwijzing zonder opnieuw in de rij plaatsen, verlopen berichtgeldigheid of ingestelde grenzen zijn. Routering en passende koppelingen moeten worden ingericht.

Ook bewaking, toegangsrechten, bewaartermijn en een herverwerkingsprocedure zijn nodig. De DLQ is geen voltooide opdracht of automatische reparatie. Doorsturen garandeert evenmin verliesvrijheid: standaard dead-lettering in RabbitMQ kan berichten verliezen wanneer de doelwachtrij niet beschikbaar is.

Bronnen