AWS Lambda Enhances Kafka Integration with Queue Support for Self-Managed Event Sources
Home/Blog/Tech/AWS Lambda mejora la integración de Kafka con apoyo de búsqueda para fuentes de eventos autogestionadas
Plataformas CloudConfirmado

AWS Lambda mejora la integración de Kafka con apoyo de búsqueda para fuentes de eventos autogestionadas

AWS Lambda ahora soporta colas para Apache Kafka en fuentes de eventos autogestionadas, lo que permite una mayor escalabilidad y resistencia para las cargas de trabajo impulsadas por eventos decodificando paralelismo del conteo de particiones.

Datos confirmados

AWS Lambda ahora soporta colas para Apache Kafka en mapas de fuentes de eventos Kafka autogestionados (ESM). Esta capacidad se extiende a los clústeres Kafka que los clientes operan y gestionan ofertas como Confluent Cloud. La característica permite a los clientes escalar el procesamiento de las cargas de trabajo de Kafka más allá del recuento de partición de un tema, aumentando el rendimiento durante los picos de tráfico y mejorando la resistencia al procesamiento.

El apoyo a las misiones para autogestionados Kafka ESMs se construye en grupos de acciones Kafka, que generalmente están disponibles en Apache Kafka 4.2 y más tarde. El lanzamiento permite que varios encuestadores de eventos consuman simultáneamente desde la misma partición, con cada encuestador de eventos que soporta hasta 10 invocaciones concurrentes. Este paralelismo decodificador de partición cuenta sin cambios requeridos a los productores, configuración de temas o código de función.

El modo de cola no preserva el orden de partición y está destinado a cargas de trabajo que no requieren un orden estricto. La capacidad requiere un grupo de Kafka con grupos de acciones habilitados, como Apache Kafka 4.2 o posterior, y está disponible en todas las regiones comerciales de AWS donde está disponible Kafka ESM autogestionada. Los clientes pueden crear un ESM Kafka autogestionado con ConsumoMode establecido para cola a través de la consola de administración AWS, API de Lambda, AWS CLI, AWS CloudFormation, AWS SAM o CDK AWS.

El precio estándar de Lambda se aplica. Los clientes que configuran el modo previsto para su autogestionado Kafka ESM también pagan por el uso de la Unidad de Contaminador de Evento (EPU). Anteriormente, Kafka ESMs utilizó el protocolo del grupo de consumidores Kafka, que asigna cada partición a exactamente un consumidor dentro de un grupo de consumidores. Los clientes que necesitan mayor paralelismo tuvieron que superar temas de participación o trasladar el tráfico a un sistema de búsqueda separado, añadiendo infraestructura para operar y código productor para mantener.

  • Fuentes de eventos compatibles: agrupaciones Kafka autogestionadas y ofertas gestionadas como Confluent Cloud
  • Protocolo subyacente: Grupos de acciones Kafka (GA en Apache Kafka 4.2+)
  • Modelo de coincidencia: múltiples encuestadores de eventos por partición, hasta 10 invocaciones concurrentes por encuestador
  • Garantía de pedido: orden de partición no conservado en modo de cola
  • Parámetro de configuración: ConsumoMode = cola
  • Métodos de implementación: Consola, API de Lambda, CLI, CloudFormation, SAM, CDK
  • Precios: precio estándar de Lambda más cargos de EPU para el modo previsto
  • Disponibilidad: todas las regiones comerciales AWS con apoyo autogestionado Kafka ESM

Análisis técnico

La introducción del consumo basado en la cola para fuentes autogestionadas de eventos Kafka representa un cambio fundamental en la forma en que lambda escala las cargas de trabajo de Kafka. Bajo el protocolo tradicional del grupo de consumidores, el recuento de partición de un tema establece un techo duro en el paralelismo: cada partición se puede asignar sólo a un consumidor dentro de un grupo. Esta restricción forzó a los arquitectos a un dilema, ya sea sobrepartición temas en el momento de la creación (incurriendo sobrecarga operacional y potencial desequilibrio de partición) o aceptar embotellamientos de rendimiento durante los picos de tráfico. El nuevo modo de cola, construido sobre grupos de acciones Kafka (KIP-932), elimina este techo permitiendo que varios encuestadores de eventos lean de la misma partición simultáneamente.

Desde una perspectiva de ingeniería, el desacoplamiento del paralelismo desde el conteo de particiones tiene varias consecuencias directas. Primero, elimina la necesidad de planificación de particiones predictivas. Los equipos ya no necesitan estimar las particiones de rendimiento máximo y preprovisionamiento en consecuencia; en lugar de ello, el escalado de los encuestadores de eventos de Lambda puede responder a la carga real. En segundo lugar, reduce el radio de explosión de invocaciones lentas o fallantes. En el modo de grupo de consumo, un solo registro lento bloquea el progreso en toda su partición. Con el modo de cola, otros encuestadores pueden continuar procesando registros posteriores de la misma partición, mejorando la latencia de la cola y la resiliencia general. En tercer lugar, simplifica la lógica del productor: los productores ya no necesitan implementar estrategias de partición personalizadas o la ruta a sistemas alternativos de cola para lograr un paralelismo superior.

La limitación que el modo de cola no preserva el orden de partición es un intercambio deliberado documentado en el anuncio. Los volúmenes de trabajo que requieran el pedido por persona (como el procesamiento de transacciones financieras o agregaciones estatales claves por ID de entidad) deben continuar utilizando el modo de grupo de consumidores o implementar garantías de orden en la capa de aplicación. El anuncio identifica explícitamente casos de uso adecuado: codificación de imágenes y vídeos, detección de fraudes, entrega de notificaciones e ingestión de telemetría. Estos comparten una característica común: cada evento es una unidad de trabajo independiente donde la velocidad de procesamiento importa más que el orden estricto. Los ingenieros deben evaluar sus requisitos de pedido antes de migrar los ESMs existentes al modo de cola.

El modelo de fijación de precios introduce una nueva dimensión de costo para los usuarios de modos proporcionados: Unidades de Contaminación de Eventos (EPUs). Si bien el precio estándar de Lambda se aplica a las invocaciones bajo demanda, los clientes del modo proporcionado pagan por el uso de EPU además de los cargos estándar. El anuncio no revela la tasa de precios de EPU ni la asignación entre el recuento de encuestadores y el consumo de EPU. Esta brecha de información significa que los equipos que ejecutan el modo previsto no pueden modelar plenamente las consecuencias de los costos sin consultar la página de fijación de precios de Lambda o la documentación. En el caso de las cargas de trabajo a la demanda, el modelo de costo sigue sin modificarse, paga por solicitud y duración, pero el aumento del potencial de concurrencia puede aumentar el recuento total de invocación durante los períodos de inactividad.

  • Elimina el recuento de partición como un cuello de botella para el volumen de trabajo elegible
  • Reduce el bloqueo de cabeza de línea dentro de las particiones a través de los contaminantes concurrentes
  • Elimina la necesidad de una infraestructura de superpartición o de búsqueda auxiliar
  • La orden de compensación requiere una clasificación explícita del volumen de trabajo
  • EPU precios para el modo previsto no detallado en el anuncio
  • Parámetro ConsumoMode, sin necesidad de cambios de código

Consideraciones operacionales

Adoptar el modo de cola requiere un grupo Kafka que ejecute Apache Kafka 4.2 o más tarde con grupos de acciones habilitados. Este requisito de la versión puede limitar la adopción para los equipos en grupos viejos autogestionados o servicios gestionados que aún no han mejorado. El anuncio no especifica si las ofertas Kafka gestionadas por AWS (como Amazon MSK) soportan esta característica, ni detalla los pasos de configuración del grupo de acciones requeridos en el lado del cluster. Los ingenieros que operan agrupaciones autogestionadas deben verificar la disponibilidad de grupos de acciones y cualquier cambio de configuración de corredor asociado antes de permitir el modo de cola.

El modelo de concurrencia —hasta 10 invocaciones concurrentes por encuestador de eventos, con múltiples contaminantes por partición— introduce nuevas dinámicas de escalado. El comportamiento de escalado de encuestadores de Lambda para modo de cola no se describe en el anuncio. En el modo de grupo de consumidores, los encuestadores de escala Lambda basados en el recuento de partición y métricas de lag. Con el modo cola, las señales y los límites de escalado pueden diferir. Los equipos deben supervisar el acuerdo de invocación, las tasas de acelerador y las métricas de los encuestadores después de la migración para entender el nuevo perfil de escalado. El anuncio no revela los recuentos máximos de los encuestadores por ESM o por partición.

El manejo de errores y la semántica de reingreso pueden diferir entre modos de consumo. El anuncio afirma que un evento lento o fallido ya no mantiene otros eventos en la misma partición, lo que implica el aislamiento de falla por disco. Sin embargo, no especifica si los registros fallidos se retratan dentro del mismo contaminador, re-queued para otro encuestador, o enviado a una cola de letras muertas. La sección Guía para Desarrolladores de Lambda sobre la encuesta de las colas de Kafka (referido en el anuncio) tendría que ser consultada para estos detalles. Los equipos con estrictos requisitos de procesamiento exactos o al menos una vez deben verificar la semántica de entrega antes de cambiar los modos.

  • Requiere Apache Kafka 4.2+ con grupos de acciones habilitados en el cluster
  • MSK y otro apoyo gestionado Kafka no confirmado en el anuncio
  • Comportamiento de escalado de contaminantes para el modo de cola no documentado en el anuncio
  • Aislamiento de falla por registro implícito pero semántica de retratar no especificada
  • Los contaminantes máximos por ESM o partición no divulgados
  • Semántica de entrega (al menos una vez, exactamente una vez) no detallada para el modo de cola

Migración y compatibilidad

El anuncio enfatiza que el modo cola no requiere cambios a los productores, configuración de temas o código de función. Esta es una ventaja operacional significativa: las funciones existentes de Lambda procesando eventos Kafka pueden cambiar modos de consumo actualizando el parámetro ESM ConsumptionMode. Sin embargo, el cambio de garantía de orden significa que las funciones que dependen de la orden de partición para la corrección mostrarán diferentes comportamientos. Los equipos deben auditar su lógica de función para ordenar dependencias —como agregaciones de estado, deduplicación basada en secuencia de particiones, o sistemas de aguas abajo que esperan entrega ordenada— antes de migrar.

El anuncio no aborda si un ESM existente puede cambiarse de modo de grupo de consumidores a modo de cola en su lugar, o si debe crearse un nuevo ESM. Tampoco describe ninguna herramienta de migración, procedimientos de devolución o patrones de convivencia (por ejemplo, ejecutando ambos modos sobre el mismo tema con diferentes grupos de consumidores). La referencia a la Guía para Desarrolladores de Lambda sugiere que estos detalles operativos están documentados allí. Los ingenieros que planifican la migración deben consultar esa guía para los procedimientos paso a paso y cualquier limitación en la conmutación de modos.

Para los equipos que utilizan infraestructura como código (CloudFormation, SAM, CDK), la adición del parámetro ConsumptionMode significa que las actualizaciones de plantilla son sencillas. El anuncio enumera todas las principales herramientas de IaC con el apoyo. Sin embargo, no especifica el nombre exacto del parámetro ni el formato de valor para cada herramienta, ni si los recursos existentes de la gestión de recursos de la gestión de los recursos de apoyo en el lugar actualizaciones o requieren sustitución. Los usuarios de CDK y CloudFormation deben verificar la especificación de recursos para AWS:Lambda::EventSourceMapping para entender el comportamiento de actualización.

  • Ningún productor, tema o cambio de código de función requerido para el interruptor de modo
  • Ordenar la auditoría de la dependencia necesaria antes de la migración
  • Actualización en el lugar ESM vs. reemplazo no especificado en el anuncio
  • Datos del parámetro IaC (nombre, formato de valor) no proporcionados en el anuncio
  • Patrones de retroceso y coexistencia no descritos
  • Guía de desarrolladores referenciado para procedimientos de migración

Fuentes