Modos de escalado del sondeo de eventos en Lambda
Puede elegir entre dos modos de escalado del sondeo de eventos para su asignación de orígenes de eventos de Kafka:
Modos de escalado
Modo bajo demanda (predeterminado)
Cuando crea inicialmente un origen de eventos de Amazon MSK, Lambda asigna una cantidad predeterminada de sondeos de eventos para procesar todas las particiones en el tema de Kafka. Lambda reduce o escala verticalmente de forma automática el número de sondeos de eventos en función de la carga de mensajes.
En intervalos de un minuto, Lambda evalúa el retraso de inicio de todas las particiones del tema. Si el retraso es demasiado alto, la partición recibe mensajes más rápido de lo que Lambda puede procesarlos. Si es necesario, Lambda agrega o elimina a los sondeos de eventos del tema. Este proceso de escalado automático para agregar o eliminar sondeos de eventos se produce dentro de los tres minutos posteriores a la evaluación.
Si su función de Lambda de destino está limitada, Lambda reduce la cantidad de sondeos de eventos. Esta acción reduce la carga de trabajo de la función al reducir el número de mensajes que los sondeos de eventos pueden recuperar y enviar a la función.
Modo aprovisionado
Para las cargas de trabajo en las que necesite afinar el rendimiento de su asignación de orígenes de eventos, puede utilizar el modo aprovisionado. En el modo aprovisionado, usted define los límites mínimos y máximos para la cantidad de sondeos de eventos aprovisionados. Estos sondeos de eventos aprovisionados están dedicados a la asignación de orígenes de eventos y pueden gestionar los picos de mensajes inesperados mediante un ajuste de escalado automático adaptable. Recomendamos que utilice el modo aprovisionado para las cargas de trabajo de Kafka que tengan requisitos de rendimiento estrictos.
En Lambda, un sondeo de eventos es una unidad de cómputo capaz de gestionar hasta 5 MBps de rendimiento. Como referencia, supongamos que el origen de eventos produce una carga útil media de 1 MB y que la duración media de la función es de 1 segundo. Si la carga útil no sufre ninguna transformación (como un filtrado), un único sondeo puede admitir un rendimiento de 5 MBps y 5 invocaciones de Lambda simultáneas. El uso del modo aprovisionado conlleva costos adicionales. Para obtener estimaciones de precios, consulte Precios de AWS Lambda
En el modo aprovisionado, el rango de valores aceptados para el número mínimo de sondeos de eventos (MinimumPollers
) oscila entre 1 y 200, inclusive. El rango de valores aceptados para el número máximo de sondeos de eventos (MaximumPollers
) está comprendido entre 1 y 2000, inclusive. MaximumPollers
debe ser mayor o igual que MinimumPollers
. Además, para mantener el procesamiento ordenado dentro de las particiones, Lambda limita el número de MaximumPollers
al número de particiones del tema.
Para obtener más información sobre cómo elegir los valores de sondeos de eventos mínimos y máximos adecuados, consulte Prácticas recomendadas y consideraciones al usar el modo aprovisionado.
Puede configurar el modo aprovisionado para la asignación de orígenes de eventos de Amazon MSK mediante la consola o la API de Lambda.
Cómo configurar el modo aprovisionado para una asignación de orígenes de eventos de Amazon MSK existente (consola)
-
Abra la página de Funciones
en la consola de Lambda. -
Elija la función para la asignación de orígenes de eventos de Amazon MSK para la que desee configurar el modo aprovisionado.
-
Elija Configuración y, a continuación, seleccione Desencadenadores.
-
Elija la asignación de orígenes de eventos de Amazon MSK para la que desee configurar el modo aprovisionado y, a continuación, seleccione Editar.
-
En Configuración de la asignación de orígenes de eventos, elija Configurar el modo aprovisionado.
-
En Número mínimo de sondeos de eventos, introduzca un valor entre 1 y 200. Si no especifica un valor, Lambda asigna el valor predeterminado de 1.
-
En Número máximo de sondeos de eventos, introduzca un valor entre 1 y 2000. Este valor debe ser mayor o igual que su valor para Número mínimo de sondeos de eventos. Si no especifica un valor, Lambda asigna el valor predeterminado de 200.
-
-
Seleccione Save.
Puede configurar el modo aprovisionado por programación mediante el objeto ProvisionedPollerConfig de su EventSourceMappingConfiguration. Por ejemplo, el siguiente comando de la CLI UpdateEventSourceMapping configura un valor MinimumPollers
de 5 y un valor MaximumPollers
de 100.
aws lambda update-event-source-mapping \ --uuid a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --provisioned-poller-config '{"MinimumPollers": 5, "MaximumPollers": 100}'
Tras configurar el modo aprovisionado, puede observar el uso de los sondeos de eventos para su carga de trabajo supervisando la métrica ProvisionedPollers
. Para obtener más información, consulte Métricas de asignación de orígenes de eventos.
Para deshabilitar el modo aprovisionado y volver al modo predeterminado (bajo demanda), puede usar el siguiente comando de la CLI UpdateEventSourceMapping:
aws lambda update-event-source-mapping \ --uuid a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --provisioned-poller-config '{}'
Prácticas recomendadas y consideraciones al usar el modo aprovisionado
La configuración óptima de los sondeos de eventos mínimos y máximos para la asignación de orígenes de eventos depende de los requisitos de rendimiento de la aplicación. Recomendamos que lea los sondeos de eventos mínimos predeterminados para establecer una línea de base del perfil de rendimiento. Ajuste la configuración en función de los patrones de procesamiento de mensajes observados y del perfil de rendimiento deseado.
En el caso de cargas de trabajo con un tráfico intenso y necesidades de rendimiento estrictas, aumente el número mínimo de sondeos de eventos para administrar los picos repentinos de mensajes. Para determinar los sondeos de eventos mínimos necesarios, tenga en cuenta los mensajes de su carga de trabajo por segundo y el tamaño medio de la carga útil y utilice la capacidad de rendimiento de un único sondeo de eventos (hasta 5 MBps) como referencia.
Para mantener el procesamiento ordenado dentro de una partición, Lambda limita el número máximo de sondeos de eventos al número de particiones del tema. Además, el número máximo de sondeos de eventos a los que se puede escalar la asignación de orígenes de eventos depende de la configuración de simultaneidad de la función.
Al activar el modo aprovisionado, actualiza la configuración de la red para eliminar los puntos de conexión de VPC AWS PrivateLink y los permisos asociados.