Particiones en Kafka
Asignación de particiones
Cuando un consumidor de Kafka muere, las particiones han de ser reasignadas para que los mensajes no consumidos en las particiones que estaban asignadas a aquél puedan ser consumidos.
Este rebalanceo de particiones tiene un impacto importante en el rendimiento de la aplicación. Este rebalanceo ocurre en dos situaciones:
- muere un consumidor, luego sus particiones como dijimos se reasignan a otros consumidores
se añade un nuevo consumidor al grupo, y se le asignan particiones que antes tenían otros consumidores1
Podemos configurar la estrategia a la hora de asignar las particiones mediante la entrada partition.assignment.strategy.
Referencias
Notas
1
Recordemos que una partición solo se consume por un consumidor. Por lo tanto no debe haber más consumidores que particiones, porque entonces habrá consumidores que no tendrán qué consumir.