Prácticas recomendadas para implementar respuestas parciales por lotes - AWS Guía prescriptiva

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.

Prácticas recomendadas para implementar respuestas parciales por lotes

Las siguientes son las prácticas recomendadas para configurar respuestas por lotes parciales para las fuentes de SQS eventos de Amazon:

nota

El seguimiento del rendimiento a nivel de código es necesario para monitorear el rendimiento general de una aplicación que utiliza el procesamiento parcial por lotes. Una vez configurado el procesamiento parcial por lotes, las invocaciones a la función de Lambda casi siempre se realizan correctamente, sin importar el resultado del procesamiento por lotes.

Evitar los antipatrones acumulativos

Lambda y Amazon no SQS pueden controlar los mensajes que los microservicios ascendentes escriben en una cola de Amazon. SQS Si hay mensajes que no se pueden procesar, Lambda devuelve esos mensajes sin procesar a la cola de Amazon de origen, a menos que se configure una SQS cola de letras muertas independiente. A continuación, la función Lambda vuelve a intentar esos mensajes sin procesar en cada lote de SQS mensajes de Amazon siguiente, fallan y vuelven a la cola para volver a intentarlo. Si no existe ninguna cola de mensajes sin procesar, el número de mensajes sin procesar que se devuelven a la cola de Amazon eventualmente superará el número de mensajes válidos de la SQS cola.

Este tipo de antipatrón acumulativo (en el que cada invocación sucesiva de la función de Lambda empeora el problema) puede provocar lo siguiente:

  • Mala experiencia del usuario porque los trabajos tardan mucho más en procesarse de lo habitual o no se procesan en absoluto

  • Aumento del coste proporcional al aumento exponencial del número de mensajes en la SQS cola de Amazon y de los reintentos de mensajes

  • Reducción de la capacidad de computación de Lambda para la aplicación o para toda la Cuenta de AWS si la función no tiene un límite en sus solicitudes de invocación.

Para evitar crear un antipatrón en forma de bola de nieve al configurar respuestas por lotes parciales en AmazonSQS, se recomienda crear también una cola de letra muerta. Esta cola independiente puede almacenar los mensajes que no se hayan procesado correctamente y ayudarlo a manejar mejor el ciclo de vida de los mensajes no procesados de su aplicación.

Para obtener instrucciones, consulte Configuración de una cola de letra muerta (consola) en la Guía para desarrolladores de Amazon SQS.