Apache Kafka es una plataforma distribuida de streaming de eventos que permite publicar, suscribir, almacenar y procesar flujos de registros en tiempo real. Originalmente desarrollada por LinkedIn y donada a la Apache Software Foundation, Kafka se ha convertido en el estándar de facto para arquitecturas orientadas a eventos, procesamiento de datos en tiempo real y pipelines de integración a gran escala.
La plataforma gestiona billones de eventos diarios en organizaciones de todos los tamaños, desde startups hasta grandes corporaciones. Su modelo de log distribuido, con particionado y replicación, garantiza alta disponibilidad, durabilidad y un rendimiento sostenido de millones de mensajes por segundo con latencias de milisegundos.
Desde la versión 4.0 de Apache Kafka, el modo KRaft (Kafka Raft) es el único modo de operación soportado: la dependencia externa de ZooKeeper ha sido eliminada por completo y el propio clúster gestiona sus metadatos mediante un quorum de controladores integrado. Esta simplificación arquitectónica reduce componentes operativos, acelera el arranque del clúster y permite escalar a millones de particiones. A ello se suman mejoras modernas como el tiered storage (almacenamiento por niveles en S3, GCS o Azure Blob) para retención económica a largo plazo y una evolución continua de Kafka Streams y Kafka Connect para casos de uso cloud-native.
Este itinerario cubre Kafka de principio a fin: desde los conceptos fundamentales de event streaming y la arquitectura de brokers KRaft hasta el despliegue seguro y monitorizado en producción, pasando por las APIs de Producer y Consumer, Kafka Streams para procesamiento de flujos, Kafka Connect para integración de datos y Schema Registry para gobernanza de esquemas.
Qué incluye este itinerario
- Fundamentos: event streaming, arquitectura de Kafka con brokers KRaft, topics, particiones, offsets y replicación.
- Instalación y entorno: despliegue local, Docker Compose, Confluent Cloud y herramientas de línea de comandos.
- Producers: Producer API en Java, serialización, estrategias de particionado, acks, idempotencia y transacciones exactly-once.
- Consumers: Consumer API, grupos de consumidores, gestión de offsets, rebalanceo cooperativo y estrategias de commit.
- Kafka Streams: KStream, KTable, stream-table duality, operaciones stateless y stateful, windowing y joins entre flujos.
- Kafka Connect: conectores source y sink, Debezium CDC, transformaciones SMT, integración con sistemas cloud (S3, BigQuery, Snowflake) y pipelines de datos.
- Schema Registry: Avro, JSON Schema, Protobuf, evolución de esquemas y reglas de compatibilidad.
- Seguridad y producción: SSL/TLS, SASL (SCRAM, OAUTHBEARER), ACLs, monitorización con Prometheus y Grafana, tiered storage y tuning de rendimiento.
Público objetivo
- Desarrolladores backend que necesitan integrar sistemas de mensajería y streaming de eventos en sus aplicaciones.
- Ingenieros de datos que diseñan pipelines de ingestión y procesamiento en tiempo real.
- Arquitectos de software que evalúan o implementan arquitecturas event-driven y microservicios.
- Equipos de plataforma y operaciones que administran clústeres de Kafka on-premise o en Confluent Cloud.
Prerrequisitos: conocimientos básicos de Java, familiaridad con la línea de comandos y conceptos generales de sistemas distribuidos.