Apacke Kafka Auditeur Fils

0

La question

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)?

2
0

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.

2021-11-24 04:47:11
0
  1. Si vous voulez maximiser la consommation, oui, vous avez besoin de 150 consumer threads sur 150 partitions (1 thread consommateur par partition). Dans le cas où vous n'avez que 20, vous ne pouvez pas vous voulez maximiser la consommation, au lieu de cela, maintenant 1 consommateur est responsable pour la consommation par exemple 150/20=7 partitions. C'est un compromis.

  2. Vous ne voulez pas que votre application consomme 50 topics à une époque. Il conduit au problème d'échelle. Disons maintenant un sujet a besoin d'augmenter le nombre de ses partitions de 3 à 6, vous horizontalement à l'échelle de votre application à partir de 1 à 2 cas, ce qui signifie à partir de 150 consumers à 300 consumers et il y a seulement 150 + (6-3) = 153 active consumers, les autres sont inactifs.

2021-11-25 03:34:09

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................