Aller au contenu

File d’attente de lettres mortes

Une file d’attente de lettres mortes (DLQ) conserve les messages écartés pour les examiner et les retraiter de manière contrôlée.

Également appeléDead-letter queueDLQFile de messages en échec
API et contrats de données

Une file d’attente de lettres mortes, ou dead-letter queue (DLQ), est une file distincte pour les messages écartés du traitement normal. Elle permet d’examiner les messages non traités et de les reprendre de manière contrôlée. La configuration détermine lesquels y arrivent ; une erreur applicative ne les y dirige pas systématiquement.

Prévoir une reprise après la mise à l’écart

Dans un système d’intégration fictif, le message E-81 contient une version de schéma non prise en charge. Au lieu d’être réessayé indéfiniment dans le flux normal, il suit le routage d’erreur configuré. L’équipe conserve une trace du motif d’échec et de l’identité du message. Après correction des données ou adaptation du consommateur, elle peut le retraiter volontairement en empêchant les effets en double.

Dans RabbitMQ, le Dead-Letter Exchange (DLX) est le point de routage qui transmet ces messages aux files qui lui sont liées. Ce n’est pas la DLQ elle-même. Les motifs peuvent inclure un rejet sans remise en file, l’expiration du message ou des limites configurées. Le routage et les liaisons appropriées doivent être établis.

Il faut aussi prévoir supervision, droits d’accès, conservation et procédure de reprise. La DLQ ne constitue ni une tâche terminée ni une réparation automatique. Le transfert ne garantit pas non plus l’absence de perte : le dead-lettering par défaut de RabbitMQ peut perdre des messages si la file cible est indisponible.

Sources