Disons que j'ai 50 Kafka Sujets, chacun avec 3 partitions, c'est un total de 150 partitions. Si j'ai un KafkaListener/Consommateur configuré pour chacun de ces 150 partitions (en raison du volume élevé sur chaque partition), il signifie que j'ai 150 auditeurs en cours d'exécution. Ce que je comprends, chaque auditeur obtient son propre thread. Donc, est-ce à dire, il y aura 150 threads actifs dans ce scénario? Cela semble beaucoup. Est-il possible de restreindre à un nombre maximum de threads à la fois(disons, 20)?
Kafka donne toujours une seule partition de données à un thread consommateur
Pour limiter le nombre de threads pour 20
avec 150
partitions, vous pouvez définir la simultanéité à 8
ce qui devrait créer de manière efficace 8 distincte pour le consommateur instances & de limiter le nombre de threads pour un maximum de <19
(150/8).
C' est une autre pile de post sur le sujet qui explique un peu plus pour la définition de la simultanéité dans votre kafka auditeur de l'usine. Aussi c' est un autre décent source pour expliquer certains concepts autour de kafka sujets et des partitions.