SeriesKafka 101
1/3. Kafka 101: tu primer tópico local2/3. Consumer groups en Kafka: cómo se reparte el trabajo3/3. Kafka + Spark: tu primer streaming real

Este post muestra cómo los consumer groups reparten trabajo y cómo se mueven los offsets. Es el modelo mental clave antes de usar Spark Streaming. Ref: Consumer groups.

Descargas al final: ir a Descargas.

En pocas palabras

  • Los consumer groups dividen particiones entre instancias.
  • Los offsets indican por dónde va cada grupo.
  • El rebalance es normal cuando entran o salen consumidores.

Ejecuta tú mismo

  • Docker local: ruta principal de este blog.
1
docker compose up

Links:


Inicia dos consumidores en el mismo grupo

Esto simula dos instancias trabajando en paralelo.

1
kafka-console-consumer.sh --topic demo-events --bootstrap-server localhost:9092 --group demo-group

Open a second terminal and run the same command. Produce a few messages and observe how they are split.


Ver offsets del grupo

Aquí confirmas cómo avanzan los offsets del grupo.

1
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group demo-group

Salida esperada (ejemplo):

TOPIC  PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG
demo-events 0  42  42  0

Qué verificar

  • Cada consumidor recibe un subconjunto de particiones.
  • Los offsets avanzan cuando se consumen mensajes.
  • El rebalance ocurre cuando un consumidor se detiene.

Descargas

Si no quieres copiar código, descarga el notebook o el .py.