Última actualización: 12/06/2026
Apache Kafka es una plataforma de transmisión de eventos de código abierto popular que se usa para recopilar, procesar y almacenar transmisiones continuas de eventos. Kafka se usa comúnmente como middleware de mensajería, pero ofrece escalabilidad y redundancia que permiten que las aplicaciones distribuidas manejen un solo evento por día hasta miles de millones por segundo. A diferencia de los sistemas de mensajería tradicionales, Kafka también es un sistema de almacenamiento duradero que almacena registros en un registro ordenado que se puede leer y volver a leer de forma reproducible. Esto hace que Kafka sea un sistema común para distribuir cambios en bases de datos transaccionales que se pueden usar para reconstruir o materializar los datos en análisis y otros sistemas. Este patrón a veces se denomina origen de eventos.
Por lo tanto, Kafka es importante tanto para los patrones tradicionales de bus de eventos, en los que las aplicaciones basadas en eventos se integran a través de middleware de mensajería, como para las arquitecturas de distribución de datos (o “materialización heterogénea”). Esto es de baja latencia y rentable.
Explora Google Cloud Managed Service para Apache Kafka para automatizar tu infraestructura de transmisión y acelerar los flujos de trabajo de datos a IA.
Kafka recopila datos de transmisión y registra lo que sucedió y cuándo ocurrió. A este registro se lo conoce como registro de solo entrada. Es inmutable porque se le pueden agregar datos, pero no se puede modificar. Desde allí, las aplicaciones pueden suscribirse al registro, acceder a los datos o publicar en él y agregar más datos en tiempo real.
Si bien el núcleo de “Kafka” suele referirse al sistema de almacenamiento de baja latencia, la plataforma de transmisión incluye otros componentes importantes. Primero, Kafka Connect, un sistema de integración que permite conectores escalables horizontalmente a muchos sistemas importantes. Esto incluye conectores de captura de datos modificados (CDC), replicación de clúster a clúster (MirrorMaker) y la capacidad de escribir datos en sistemas descendentes como lakehouses (Apache Iceberg), lakes (archivos Avro o Parquet en almacenamiento de objetos), así como bases de datos como BigQuery. En segundo lugar, los proyectos de Kafka se envían con un conjunto de clientes potentes, incluidos clientes de línea de comandos administrativos para manipular clústeres y temas, así como bibliotecas cliente de alto rendimiento para leer y escribir datos.
Históricamente, el procesamiento de datos se controlaba con trabajos por lotes periódicos, que consisten en almacenar los datos sin procesar y, luego, procesarlos a intervalos arbitrarios. Por ejemplo, una empresa minorista podría esperar hasta el final del día para analizar los datos de ventas. Una de las limitaciones del procesamiento por lotes es que no se realiza en tiempo real. Cada vez más organizaciones y científicos de datos quieren analizar los datos en tiempo real a medida que se generan para tomar decisiones empresariales oportunas y potenciar los modelos de IA en tiempo real. Aquí es donde entra en juego la transmisión de eventos. La transmisión de eventos es un procedimiento que consiste en procesar de forma continua transmisiones infinitas de eventos a medida que se crean. Esto captura el valor temporal de los datos y permite aplicaciones basadas en envíos que toman medidas cuando ocurre un hecho interesante. Para los científicos de datos, esto significa la capacidad de realizar ingeniería de atributos en tiempo real y entregar predicciones de baja latencia.
Si bien muchas organizaciones se enfocan en las estadísticas posteriores que generan los científicos de datos, los profesionales principales de Apache Kafka son los ingenieros de datos. Estos profesionales son responsables de crear las "canalizaciones de datos" y las integraciones fundamentales que conectan las aplicaciones y las bases de datos de una empresa.
Los ingenieros de datos usan Kafka para crear conexiones confiables en toda la pila tecnológica. Estas integraciones pueden adoptar varias formas:
En una empresa típica, el ingeniero de datos trabaja en estrecha colaboración con los equipos de aplicaciones para garantizar que los eventos de los usuarios, las transacciones comerciales y las actualizaciones de bases de datos se exporten a Kafka. Este proceso, conocido como distribución de datos, hace que estos eventos estén disponibles para varios usuarios y sistemas de la organización de forma simultánea.
Los ingenieros de datos escriben el código para las canalizaciones que transforman los registros de aplicaciones sin procesar en formatos estructurados de alta calidad. Esta transformación es esencial para los científicos de datos, que generalmente requieren datos “limpios” almacenados en entornos consultables como data lakes, lakehouses o almacenes de datos, en lugar de interactuar directamente con la transmisión de Kafka sin procesar.
En el contexto de la ciencia de datos y la IA, el valor de Kafka radica principalmente en el acceso a los datos. Sirve como una fuente integral para los registros de aplicaciones y los cambios en las bases de datos. Si bien Kafka es famoso por su velocidad, para la mayoría de los flujos de trabajo de ciencia de datos, la amplitud y la confiabilidad de la fuente de datos son mucho más importantes que la entrega de baja latencia.
Los sistemas de IA se ejecutan con datos de entrenamiento y contexto de alta calidad durante la inferencia. Kafka suele ser fundamental para el entrenamiento, ya que recopila datos de entrenamiento de una variedad de sistemas de origen, desde registros de interacción hasta cambios en la base de datos. En muchas organizaciones, se usa como un bus de eventos que agrega eventos de muchos servicios o simplemente como una ubicación de almacenamiento de etapa de pruebas para los registros de aplicaciones. Esto la convierte en una fuente de datos natural y única para generar conjuntos de datos de entrenamiento. Como Kafka almacena registros en una secuencia ordenada, también puede ser una buena opción para los LLM que operan en secuencias.
Kafka es esencial para muchas tareas de inferencia en línea. La capacidad de una aplicación o un agente para proporcionar una recomendación de producto, una respuesta de búsqueda o una instrucción pertinente depende de tener el contexto más actualizado para un usuario. Debido a que Kafka admite una comunicación escalable y de baja latencia, permite que un sistema de inferencia actualice el contexto del usuario con los eventos más recientes en decenas de milisegundos. Por ejemplo, si un usuario rechaza la recomendación de canción más reciente en una app de música o si el precio de una acción cambia en una aplicación financiera, un servicio de recomendación puede generar de inmediato una mejor sugerencia teniendo en cuenta esta entrada.
Ecosistema de código abierto
El código fuente de Kafka está disponible de forma gratuita y se beneficia de una comunidad global que contribuye con una amplia gama de conectores, herramientas de supervisión y complementos.
Escalamiento y velocidad
Kafka es una plataforma distribuida, lo que significa que el procesamiento se divide entre varias máquinas. Esto le permite escalar para manejar grandes volúmenes de datos mientras mantiene una latencia de menos de un milisegundo.
Alta disponibilidad
Como está distribuido, Kafka sigue siendo confiable incluso si las máquinas individuales fallan, lo que lo hace adecuado para aplicaciones fundamentales.
La configuración de clústeres locales de Kafka es notoriamente difícil, ya que requiere que los equipos aprovisionen máquinas, administren la seguridad y se encarguen de la aplicación de parches de rutina. Con un servicio administrado, un proveedor se encarga de la infraestructura subyacente, lo que te permite enfocarte en la creación de aplicaciones. Esto es particularmente beneficioso para los equipos de ciencia de datos que quieren enfocarse en el desarrollo de modelos y las estadísticas en lugar de la administración de la infraestructura.
Kafka permite el procesamiento de eventos de transmisión por medio de cuatro funciones principales:
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.