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 125.
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,stickyycooperative-stickyen 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.msconserva su asignación y no provoca ningún rebalanceo, y qué ocurre cuando permanece caído demasiado tiempo. - Los dos timeouts —
session.timeout.msfrente amax.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.