Dead-Letter Queue
Coda di lettere morte
Una coda di messaggi non recapitabili conserva i messaggi che una coda sorgente non è riuscita a processare dopo i tentativi consentiti. Le persone possono esaminare il fallimento prima di un nuovo tentativo controllato.
source queue + receive count > limit -> DLQ + configured monitor -> alert -> inspect/fix -> controlled redriveemail_804✓la coda principale continuaemail_803!indirizzo erratodead/email_803→ispeziona primasource queue + receive count > limit -> DLQ + configured monitor -> alert -> inspect/fix -> controlled redriveJOBUn altro esempio
L'importazione della riga `row-73` fallisce cinque volte perché la sua data è malformata. Amazon SQS sposta il messaggio in una DLQ. L'allarme configurato dal team avvisa quindi un operatore. Dopo aver corretto il parser, l'operatore reinvia un piccolo lotto a una velocità sicura.
Parti principali
- 01Coda sorgente
- 02Limite tentativi
- 03Motivo del guasto
- 04Messaggio di lettera morta
- 05Avviso e proprietario
- 06Ispeziona, correggi e rilancia
Usalo quando
Usa una DLQ quando i fallimenti ripetuti devono smettere di ciclare attraverso la coda principale. Mantieni la ragione, la fonte, il numero di tentativi, l'età del messaggio e un percorso sicuro di reindirizzamento.
Non usarlo quando
Non spostare un messaggio dopo il primo breve errore, ignora una DLQ in crescita o rilanciare prima di risolvere la causa. Rimuovere un elemento può anche interrompere un flusso che richiede un ordine rigoroso.
Nome usato nel codice
source queue + receive count > limit -> DLQ + configured monitor -> alert -> inspect/fix -> controlled redrive Prima di spedire
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Coda di lettere morte (Dead-Letter Queue). User context: L'importazione della riga `row-73` fallisce cinque volte perché la sua data è malformata. Amazon SQS sposta il messaggio in una DLQ. L'allarme configurato dal team avvisa quindi un operatore. Dopo aver corretto il parser, l'operatore reinvia un piccolo lotto a una velocità sicura. Technical concept or control: Coda di lettere morte (Dead-Letter Queue). Why it fits: Usa una DLQ quando i fallimenti ripetuti devono smettere di ciclare attraverso la coda principale. Mantieni la ragione, la fonte, il numero di tentativi, l'età del messaggio e un percorso sicuro di reindirizzamento. Do not use it when: Non spostare un messaggio dopo il primo breve errore, ignora una DLQ in crescita o rilanciare prima di risolvere la causa. Rimuovere un elemento può anche interrompere un flusso che richiede un ordine rigoroso. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Nessun singolo standard ufficiale controlla l'intero termine. Il suo significato può cambiare tra team, piattaforme o framework. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Controlla questa richiesta
Review how Coda di lettere morte (Dead-Letter Queue) is used now. Definition: Una coda di messaggi non recapitabili conserva i messaggi che una coda sorgente non è riuscita a processare dopo i tentativi consentiti. Le persone possono esaminare il fallimento prima di un nuovo tentativo controllato. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.