Vamos dizer que eu tenho 50 Kafka Tópicos, cada um com 3 partições, que da um total de 150 partições. Se eu tiver um KafkaListener/Consumidor configurado para cada uma dessas 150 partições (devido ao alto volume em cada partição), isso significa que eu tenho 150 ouvintes execução. Pelo que eu entendi, cada ouvinte fica com o seu próprio thread. Então isso quer dizer que haverá 150 segmentos ativos neste cenário? Que parece um monte. Existe alguma maneira que eu poderia restringir isso a um número máximo de threads de uma vez(digamos, 20)?
Kafka sempre dá uma única partição de dados para um consumidor thread
Para restringir o número de threads para 20
com 150
partições, você pode definir a concorrência para 8
o que efetivamente deve criar 8 separado do consumidor instâncias e limitar o número de threads para um máximo de <19
(150/8).
Esta é uma outra pilha de postar no tópico que explica um pouco mais para a definição de simultaneidade na sua kafka ouvinte de fábrica. Também esta é outra fonte decente para explicar alguns dos conceitos em torno de kafka tópicos e partições.