Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de colas de letra muerta en Amazon SQS
Amazon SQS admite colas de cartas muertas (DLQ), a las que pueden dirigirse las colas de origen para los mensajes que no se procesan correctamente. Los DLQ son útiles para depurar las aplicaciones porque permiten aislar los mensajes no consumidos para determinar por qué el procesamiento no se ha realizado correctamente. Para obtener un rendimiento óptimo, se recomienda mantener la cola de origen y el DLQ dentro de la misma región. Cuenta de AWS Una vez que los mensajes estén en una cola de letra muerta, puedes:
-
Examinar los registros para ver si hay excepciones que podrían haber causado el traslado de mensajes a una cola de mensajes fallidos.
-
Analice el contenido de los mensajes transferidos a la cola de mensajes sin efecto para diagnosticar problemas con las aplicaciones.
-
Determinar si ha concedido al consumidor tiempo suficiente para procesar los mensajes.
-
Saque los mensajes de la cola de letra muerta mediante el redrive de la cola de letra muerta.
Primero debes crear una nueva cola antes de configurarla como cola de letra muerta. Para obtener información sobre la configuración de una cola de mensajes fallidos mediante la consola de Amazon SQS, consulte Aprenda a configurar una cola de cartas sin salida mediante la consola Amazon SQS. Para obtener ayuda con las colas de letra muerta, por ejemplo, cómo configurar una alarma para cualquier mensaje que se traslade a una cola de letra muerta, consulte. Crea alarmas para colas de cartas sin salida con Amazon CloudWatch
Uso de políticas para colas de cartas sin salida
Utilice una política de redrive para especificar el. maxReceiveCount
maxReceiveCount
Es el número de veces que un consumidor puede recibir un mensaje de una cola de origen antes de pasarlo a una cola de letra muerta. Por ejemplo, si maxReceiveCount
se establece en un valor bajo, como 1, si no se recibe un mensaje, el mensaje pasará a la cola de mensajes sin respuesta. Para asegurarse de que su sistema es resiliente frente a los errores, establezca maxReceiveCount
lo suficientemente alto como para permitir un número suficiente de reintentos.
La política de permiso de redireccionamiento especifica qué colas de origen pueden acceder a la cola de mensajes fallidos. Puede elegir entre permitir todas las colas de origen, permitir colas de origen específicas o denegar a todas las colas de origen el uso de la cola de letra muerta. La opción predeterminada permite que todas las colas de origen utilicen la cola de letras sin efecto. Si decide permitir colas específicas mediante la byQueue
opción, puede especificar hasta 10 colas de origen utilizando la cola de origen Amazon Resource Name (ARN). Si especifica denyAll
, la cola no se puede utilizar como una cola de mensajes fallidos.
Descripción de los períodos de retención de mensajes para las colas con letra muerta
En el caso de las colas estándar, la caducidad de un mensaje siempre se basa en su marca temporal original. Cuando un mensaje se mueve a una cola de mensajes fallidos, la marca temporal de la cola no se modifica. La ApproximateAgeOfOldestMessage
métrica indica cuándo el mensaje pasó a la cola de mensajes sin salida, no cuándo se envió originalmente. Por ejemplo, supongamos que un mensaje pasa un día en la cola original antes de ser trasladado a una cola de mensajes fallidos. Si el periodo de retención de la cola de mensajes fallidos es de cuatro días, el mensaje se elimina de la cola de mensajes fallidos al cabo de tres días y ApproximateAgeOfOldestMessage
es de tres días. Por lo tanto, se recomienda establecer siempre un periodo de retención de una cola de mensajes fallidos superior al periodo de retención de la cola original.
Para las colas FIFO, la marca temporal de entrada se restablece cuando el mensaje se mueve a una cola de mensajes fallidos. La métrica ApproximateAgeOfOldestMessage
indica cuándo el mensaje ha pasado a la cola de mensajes fallidos. En el mismo ejemplo anterior, el mensaje se elimina de la cola de mensajes fallidos al cabo de cuatro días y ApproximateAgeOfOldestMessage
es de cuatro días.