Simulador Interactivo de Apache Kafka

Visualiza la producción, almacenamiento y consumo de mensajes.

1. Productor

El productor crea y envía un mensaje a un Tópico (sin saber a qué partición irá).

2. Broker / Tópico: "log-de-eventos"

Los mensajes se almacenan de forma inmutable y ordenada en Particiones. Aquí se simulan 3 Particiones para el Tópico.

P0 (Partición 0)

Último Offset: 0

P1 (Partición 1)

Último Offset: 0

P2 (Partición 2)

Último Offset: 0

3. Grupo de Consumidores

Cada consumidor lee de una partición diferente dentro del grupo.

Consumidor A (Lee P0)

Offset (P0): 0

Último mensaje: Ninguno

Consumidor B (Lee P1)

Offset (P1): 0

Último mensaje: Ninguno

Consumidor C (Lee P2)

Offset (P2): 0

Último mensaje: Ninguno

4. Finalidad de Kafka y Flujo Post-Consumo

¿Cuál es la finalidad de Kafka?

La meta principal de Kafka es **desacoplar** la producción de datos de su consumo, actuando como una **plataforma de streaming de eventos** de alta disponibilidad. Permite que múltiples sistemas lean los mismos datos sin afectarse mutuamente y asegura que la data se maneje en tiempo real y a gran escala.

  • **Retención de Datos:** El broker retiene los mensajes por un tiempo (simulado por no eliminarlos).
  • **Escalabilidad:** Las particiones permiten dividir la carga de trabajo.
  • **Replayability:** Los consumidores pueden volver a leer mensajes viejos si es necesario (cambiando su Offset).

¿Qué pasa después del Consumidor?

Una vez que un consumidor lee y procesa un mensaje, este se convierte en el inicio de la **lógica de negocio**. El consumidor actúa como un **microservicio** que reacciona al evento. Las acciones típicas incluyen:

  • **Persistencia (Guardar):** Guardar el evento en una base de datos (e.g., un clic de usuario en una DB analítica).
  • **Transformación/Reenvío:** Crear un nuevo evento basado en el actual y publicarlo en otro tópico de Kafka (Flujo de Eventos).
  • **Acción Externa (Reacción):** Enviar un correo electrónico, una notificación push o activar un proceso de pago.