Apache Kafka

Apache Kafka

Diseñada para manejar flujos de datos de varias fuentes y distribuirlos a los diversos usuarios

¿Qué es?

Apache Kafka es un proyecto Open Source sobre una plataforma de distribución de datos que permite publicar, suscribirse, almacenar y administrar flujos de datos en tiempo real.

¿Cómo funciona Kafka?

Productores, son los encargados de escribir mensajes en Kafka

Consumidores, leen o consumen los mensajes de los brokers de Kafka

Brokers, son los nodos que forman parte del cluster de Kafka y almacenan y distribuyen los datos

Kafka Cluster

Se ejecuta como un clúster que puede estar distribuido en varios servidores en uno o varios datacenter.

Los nodos (llamados brokers), almacenan los flujos de datos entrantes y estos se clasifican (llamados topics).

Los datos se distribuyen en particiones en los diferentes nodos que conforman el clústes y se les aplica un marca de tiempo.

Con ello se asegura un acceso/lectura rápida al mismo tiempo que se asegura una alta disponibilidad.

¿Dónde te ayuda Apache Kafka?

Kafka permite publicar y suscribirse a flujos de eventos y permite almacenar estos eventos de una forma tolerante a fallos, escalable, persistente y con capacidad de replicación.

Además de almacenar estos eventos, la funcionalidad se extiende con la capacidad de procesarlos en tiempo real, a medida que se reciben de múltiples fuentes de datos. Kafka se integra con numerosas tecnologías, de esta forma, permite construir flujos de datos en tiempo real entre distintos sistemas y aplicaciones de manera desacoplada.

Ventajas o características de Kafka

Plataforma tolerante a fallos, baja latencia (Importante en Big-Data) y escalable horizontalmente.

Efectivo para aplicaciones que presentan reaccionar a eventos en tiempo real

Control de mensajes y escritura transaccional para garantizar que los mensajes se transmiten una sola vez (exactly-once delivery)

Usado por grandes compañías en todo el mundo

Casos de uso

  • Sistema de mensajería
  • Procesamiento de flujo
  • Análisis de archivos de registro
  • Monitorización
  • Registro de transacciones