que.nom.es

Apache Kafka: qué es y para qué sirve en arquitecturas de datos

Integración de datos intermedio También llamado: Kafka, event streaming platform
Apache Kafka: los productores escriben eventos en un topic dividido en particiones; cada grupo de consumidores lee el topic a su ritmo gracias a los offsets.
Apache Kafka: los productores escriben eventos en un topic dividido en particiones; cada grupo de consumidores lee el topic a su ritmo gracias a los offsets.

Apache Kafka

¿Qué es?

Apache Kafka es una plataforma distribuida de streaming de eventos de código abierto, diseñada para publicar, almacenar y procesar flujos de mensajes en tiempo real con alta tolerancia a fallos. Nació en LinkedIn en 2011 y hoy es el estándar de facto para mover datos entre sistemas de forma continua, en lugar de hacerlo en lotes nocturnos. Funciona como un registro de eventos duradero y ordenado al que unas aplicaciones escriben (productores) y otras leen (consumidores) de forma desacoplada.

Cómo funciona

El modelo de Kafka se apoya en cuatro conceptos:

  • Evento (o mensaje): un registro con clave, valor y timestamp. Representa “algo que ha pasado”: una compra, un clic, una lectura de sensor.
  • Topic: la categoría a la que se publican los eventos. Es como una tabla append-only: solo se añaden registros, nunca se modifican.
  • Partición: cada topic se divide en particiones que permiten paralelizar y escalar. Dentro de una partición el orden está garantizado.
  • Broker: cada servidor del clúster Kafka. Varios brokers replican las particiones entre sí para que la caída de uno no pierda datos.

A diferencia de una cola tradicional, Kafka retiene los eventos durante un periodo configurable (horas, días o indefinidamente). Esto permite que un consumidor reprocese el histórico desde el principio, algo clave para reconstruir estados o alimentar sistemas nuevos.

Para qué sirve

Kafka es la columna vertebral de muchas arquitecturas de datos modernas:

  • Pipelines en tiempo real: transportar eventos desde aplicaciones operativas hacia el data warehouse o lakehouse según se producen.
  • Integración de sistemas: desacoplar microservicios para que se comuniquen por eventos sin llamadas directas entre ellos.
  • Captura de cambios (CDC): combinado con conectores como Debezium, propaga cambios de bases de datos operativas hacia analítica casi al instante.
  • Procesamiento de streams: con Kafka Streams o ksqlDB se transforman y agregan datos en vuelo, sin esperar a un batch.
  • Telemetría y logs: centralizar métricas, trazas y eventos de aplicaciones a gran escala.

Kafka frente a alternativas

Kafka no es la única opción de mensajería. RabbitMQ o ActiveMQ encajan mejor en colas de tareas con baja latencia y enrutamiento complejo. Kafka destaca cuando importa el throughput masivo, la retención del histórico y la reproducción de eventos. En la nube hay equivalentes gestionados como Amazon Kinesis, Google Pub/Sub o Azure Event Hubs, además del propio Kafka gestionado (Confluent Cloud, Amazon MSK).

Limitaciones y consideraciones

  • Complejidad operativa: un clúster Kafka autogestionado exige conocimiento de replicación, particionado y retención. Por eso muchas empresas optan por versiones gestionadas.
  • No es una base de datos: Kafka mueve y retiene eventos, pero no sustituye a un almacén consultable de forma arbitraria.
  • Diseño de claves y particiones: una mala elección de clave de partición rompe el orden o desequilibra la carga.

Más información

Contenido elaborado con asistencia de inteligencia artificial — Equipo Editorial Dataprix. Verifica la información antes de tomar decisiones.