Utilizzo di code di lettere non scritte in Amazon SQS - Amazon Simple Queue Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di code di lettere non scritte in Amazon SQS

Amazon SQS supporta le code di lettere morte (DLQ), a cui le code di origine possono indirizzare i messaggi che non vengono elaborati correttamente. I DLQ sono utili per il debug dell'applicazione perché consentono di isolare i messaggi non utilizzati per determinare il motivo per cui l'elaborazione non è riuscita. Per prestazioni ottimali, è consigliabile mantenere la coda di origine e il DLQ all'interno della stessa regione. Account AWS Una volta che i messaggi sono in una coda di lettere non scritte, puoi:

È innanzitutto necessario creare una nuova coda prima di configurarla come coda di lettere morte. Per informazioni su come configurare code DLQ utilizzando la console Amazon SQS, consulta Scopri come configurare una coda di lettere non scritte utilizzando la console Amazon SQS. Per informazioni sulle code di lettere non scritte, ad esempio su come configurare un avviso per qualsiasi messaggio spostato in una coda di lettere non scritte, consulta. Crea allarmi per code di lettere scadenti utilizzando Amazon CloudWatch

Utilizzo delle politiche per le code di lettere morte

Utilizza una politica di redrive per specificare il. maxReceiveCount maxReceiveCountÈ il numero di volte in cui un consumatore può ricevere un messaggio da una coda di origine prima che venga spostato in una coda di lettere non scritte. Ad esempio, se maxReceiveCount è impostato su un valore basso come 1, la mancata ricezione di un messaggio causerebbe lo spostamento del messaggio nella coda delle lettere morte. Per garantire la resilienza del sistema contro gli errori, imposta un valore maxReceiveCount sufficientemente alto da consentire un numero sufficiente di tentativi.

La policy redrive allow specifica quali code di origine possono accedere a una coda DLQ. È possibile scegliere se consentire a tutte le code di origine, consentire code di origine specifiche o negare a tutte le code di origine l'uso della coda di lettere morte. L'impostazione predefinita consente a tutte le code di origine di utilizzare la coda di lettere morte. Se scegli di consentire code specifiche utilizzando l'byQueueopzione, puoi specificare fino a 10 code di origine utilizzando la coda di origine Amazon Resource Name (ARN). Se si specifica denyAll, la coda non può essere utilizzata come coda DLQ.

Comprensione dei periodi di conservazione dei messaggi per le code di lettere scadute

Per le code standard, la scadenza di un messaggio si basa sempre sul timestamp della coda originale. Quando un messaggio viene spostato in una coda DLQ, il timestamp della coda rimane invariato. La ApproximateAgeOfOldestMessage metrica indica quando il messaggio è stato spostato nella coda delle lettere non scritte, non quando è stato originariamente inviato. Ad esempio, supponiamo che un messaggio trascorra 1 giorno nella coda originale prima di essere spostato in una coda DLQ. Se il periodo di conservazione della coda DLQ è di 4 giorni, il messaggio viene eliminato dalla coda DLQ dopo 3 giorni e ApproximateAgeOfOldestMessage è di tre giorni. Pertanto, è consigliabile impostare sempre il periodo di conservazione di una coda DLQ in modo che sia più lungo del periodo di conservazione della coda originale.

Per le code FIFO, il timestamp della coda si reimposta quando il messaggio viene spostato in una coda DLQ. La metrica ApproximateAgeOfOldestMessage indica quando il messaggio è stato spostato nella coda DLQ. Nello stesso esempio precedente, il messaggio viene eliminato dalla coda DLQ dopo 4 giorni e ApproximateAgeOfOldestMessage è 4 giorni.