Tras el paquete de productor, la versión v1.2 del Kafka Simulator se centra en el lado de la lectura y su evento más malinterpretado: el rebalanceo. Este paquete añade 10 nuevos escenarios, llevando el temario a 33 de 122.

Qué incluye v1.2

Un grupo de consumidores es un problema de coordinación vestido con una API sencilla. v1.2 hace visible esa coordinación:

  • Estrategias de asignación - range, roundrobin, sticky y cooperative-sticky en paralelo, para que veas cuáles detienen el mundo y cuáles mueven solo las particiones imprescindibles.
  • Pertenencia estática (KIP-345) - por qué un miembro que se reinicia dentro de session.timeout.ms conserva su asignación y no provoca ningún rebalanceo, y qué ocurre cuando permanece caído demasiado tiempo.
  • Los dos timeouts - session.timeout.ms frente a max.poll.interval.ms: uno tiene que ver con los heartbeats, el otro con un consumidor que está vivo pero atascado procesando. Fallan de forma distinta, y el simulador muestra ambos.
  • Atasco y reanudación - un consumidor que deja de hacer poll, es expulsado y vuelve a unirse - y exactamente qué particiones se mueven cuando lo hace.

El rebalanceo es difícil de enseñar porque solo tiene sentido como secuencia: revocar, asignar, reanudar. Los diagramas estáticos reducen esa secuencia a una sola flecha. Aquí puedes recorrerla y ver cómo la propiedad cambia de manos una partición a la vez.

Por qué importa

La mayoría de los incidentes de consumidores en producción son en realidad incidentes de rebalanceo - un despliegue que parece una caída, un max.poll.interval.ms demasiado corto para un lote lento, un assignor sticky que mueve en silencio más de lo esperado. Ver el rebalanceo en movimiento, a la velocidad que elijas, es la forma más rápida de construir la intuición que hace que esos incidentes resulten obvios en retrospectiva.

Abre el simulador, añade y elimina consumidores, y observa cómo el grupo se reorganiza.