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


  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. ↩︎