Si quieres aprender Kafka con ejemplos reales (productores, consumidores, topics, particiones y casos de uso), aquí tienes un curso paso a paso: https://tecgurus.net/cursos/apache-kafka-desde-cero
Apache Kafka se ha convertido en una tecnología clave para empresas que necesitan procesamiento de datos en tiempo real: eventos de compras, pagos, tracking de envíos, logs de aplicaciones, métricas, notificaciones y más. Si alguna vez escuchaste “event streaming” o “arquitectura orientada a eventos”, Kafka casi siempre aparece en la conversación.
¿Qué es Kafka y para qué sirve?
Kafka es una plataforma de event streaming que permite publicar, almacenar y consumir eventos (datos) de forma continua, escalable y tolerante a fallos. En lugar de “mandar datos punto a punto”, Kafka actúa como un hub central donde muchos sistemas producen eventos y muchos sistemas los consumen cuando lo necesitan.
Casos de uso típicos:
- Microservicios comunicándose por eventos (sin acoplamiento directo).
- Analítica en tiempo real (dashboards y alertas).
- Integración de sistemas (ERP/CRM/e-commerce) con flujos de eventos.
- Procesamiento de logs y monitoreo.
- Pipelines de datos hacia data lakes o data warehouses.
¿Cómo funciona Kafka en términos simples?
Kafka trabaja con 4 conceptos base:
- Producer (productor): aplicación que envía eventos a Kafka (ej. “pedido_creado”).
- Topic: canal/categoría donde se publican eventos (ej.
orders). - Broker: servidor Kafka que almacena y distribuye eventos.
- Consumer (consumidor): aplicación que lee eventos para procesarlos (ej. facturación, envíos, notificaciones).
La magia es que Kafka permite que los eventos se guarden y se lean después, no solo “pasen” como un mensaje efímero.
Topics, particiones y escalabilidad
Un topic se divide en particiones. Esto ayuda a:
- Escalar: varias instancias pueden consumir en paralelo.
- Orden: Kafka garantiza orden dentro de una partición (no necesariamente en todo el topic).
- Rendimiento: más particiones = más throughput potencial (bien configurado).
Elegir cuántas particiones usar depende del volumen de eventos y de cuántos consumidores planeas ejecutar en paralelo.
Consumer Groups: paralelismo sin duplicar trabajo
Los consumidores se organizan en consumer groups:
- Si 3 consumidores están en el mismo group, Kafka reparte particiones entre ellos.
- Así procesan en paralelo sin duplicar (cada partición la atiende un consumidor del group).
- Si agregas o quitas consumidores, Kafka “rebalancea” automáticamente.
Esto es clave para sistemas que crecen con la demanda.
Offset: el “checkpoint” del consumo
Kafka usa offsets para saber qué eventos ya fueron leídos.
Un consumer avanza su offset conforme procesa mensajes. Esto permite:
- Reintentos y recuperación ante fallos.
- Reprocesar eventos (según estrategia).
- Controlar “hasta dónde” consumiste.
¿Kafka es cola de mensajes?
Kafka puede usarse como mensajería, pero su enfoque es distinto:
- Está pensado para streams y alto volumen.
- Mantiene eventos por un tiempo (retención) y permite releer.
- Es excelente para arquitecturas orientadas a eventos y pipelines de datos.
Buenas prácticas al iniciar con Kafka
- Diseña eventos claros: nombres consistentes y payload versionado.
- Define la clave (key) si necesitas orden por entidad (ej. por
orderId). - Planea tu estrategia: at-least-once vs exactly-once (según caso).
- Observabilidad: métricas, lag de consumidores, monitoreo de brokers.



