Vista interior de la oficina de Confluent con dos empleados interactuando, donde destaca el entorno de trabajo moderno.

Kafka finalmente incorpora Queues: por qué esto lo cambia todo

Confluent ha lanzado «Queues for Kafka», una nueva funcionalidad que dota a la plataforma de streaming Apache Kafka de capacidades tradicionales de colas de mensajes, permitiendo a las organizaciones gestionar cargas de trabajo tanto de streaming como de colas en un único sistema. Esta característica, ya disponible en Confluent Cloud y Confluent Platform 7.7, introduce los «share groups», que permiten a múltiples consumidores procesar mensajes de la misma partición simultáneamente, lo cual supone un cambio significativo respecto al modelo tradicional de Kafka de un solo consumidor por partición.

Este desarrollo representa un giro fundamental para Apache Kafka, que tradicionalmente ha requerido que cada partición sea procesada por un único consumidor de forma simultánea. La nueva capacidad, basada en KIP-932 e incluida en el lanzamiento principal de Apache Kafka 4.2, permite a las organizaciones consolidar su infraestructura gestionando tanto cargas de trabajo de streaming como de colas tradicionales en una sola plataforma, según el anuncio de Confluent.

La funcionalidad introduce el acuse de recibo por mensaje, sustituyendo los tradicionales commits por lotes basados en offsets de Kafka. Cuando un consumidor recupera un mensaje, el broker aplica un bloqueo de 30 segundos sobre el mismo, exigiendo una acción explícita, como confirmar el procesamiento exitoso o liberarlo para su reenvío, explicó Confluent en su documentación técnica. Esto facilita el escalado elástico, permitiendo ajustar el número de consumidores independientemente del número de particiones para gestionar cargas de trabajo variables.

Compromisos técnicos

El cambio más significativo afecta al orden de los mensajes. Mientras que los grupos de consumidores tradicionales de Kafka garantizan el procesamiento ordenado por partición, los «share groups» sacrifican esta garantía para habilitar el procesamiento en paralelo, según indica Confluent. Los mensajes permanecen almacenados en orden, pero pueden ser procesados de forma concurrente y fuera de secuencia por múltiples consumidores. Actualmente, el sistema ofrece una semántica de entrega «al menos una vez», con planes para integrar la semántica «exactamente una vez» en el futuro.

Para los clústeres Enterprise y Dedicated en Confluent Cloud, la función está disponible de inmediato, mientras que el soporte para clústeres Standard está previsto para la segunda mitad de 2026, declaró la compañía. Esta funcionalidad no conlleva ningún cargo adicional más allá de los costos de consumo estándar por entrada y salida de datos y tiempo de actividad, de acuerdo con la documentación de precios de Confluent.

Aplicaciones de mercado

Esta característica está orientada a cargas de trabajo operativas que se benefician de la semántica tradicional de colas de mensajes, incluyendo la distribución de tareas a grupos de trabajadores, la comunicación entre servicios y el procesamiento asíncrono de trabajos, señaló Confluent. No obstante, la compañía recomienda los grupos de consumidores de Kafka estándar para casos de uso que requieran un orden estricto y un procesamiento por lotes de alto rendimiento, tales como el event sourcing y el streaming analytics.

Confluent Cloud mejora la funcionalidad de código abierto con una interfaz de usuario dedicada para gestionar los «share groups» e introduce una métrica de «share lag», similar a la profundidad de cola, que puede impulsar decisiones de autoescalado a través de la API de Métricas, según el blog técnico de la compañía.

Las futuras mejoras incluyen Dead Letter Queues, ordenación basada en claves para restaurar ciertas garantías de orden e integración con transacciones de Kafka para lograr una semántica «exactamente una vez», lo que indica una inversión continua para convertir a Kafka en una plataforma de datos integral más allá de sus orígenes en el streaming.

Sources

  • Confluent
  • Apache Software Foundation