Qué es Apache Kafka
Plataforma de streaming de eventos
Apache Kafka es una plataforma distribuida de streaming de eventos diseñada para manejar grandes volúmenes de datos en tiempo real.
Conceptos principales
- Topic — categoría para organizar mensajes
- Partition — división del topic para paralelismo
- Producer — emisor de mensajes
- Consumer — receptor de mensajes
- Broker — servidor Kafka
- Consumer Group — grupo de consumidores para balanceo de carga
Beneficios de Kafka
- Alto rendimiento (millones de mensajes/seg)
- Escalado horizontal
- Almacenamiento de mensajes a largo plazo
- Garantías de entrega (at-least-once, exactly-once)
- Tolerancia a fallos mediante replicación
Aplicaciones
- Event-Driven Architecture — comunicación de microservicios
- Logging — recolección centralizada de logs
- Streaming de datos — analítica en tiempo real
- Pipelines ETL — integración de datos
- IoT — procesamiento de datos de dispositivos
Ecosistema
- Kafka Connect — conectores de bases de datos
- Kafka Streams — procesamiento de streams en Java
- ksqlDB — SQL para streams de datos
- Schema Registry — gestión de esquemas Avro/JSON