Темы слушателей Apacke Кафки

0

Вопрос

Допустим, у меня есть 50 тем Кафки, каждая из которых состоит из 3 разделов, то есть в общей сложности 150 разделов. Если у меня есть KafkaListener/потребитель, настроенный для каждого из этих 150 разделов (из-за высокой громкости на каждом разделе), это означает, что у меня работает 150 прослушивателей. Из того, что я понимаю, каждый слушатель получает свою собственную нить. Значит ли это, что в этом сценарии будет 150 активных потоков? Это кажется многовато. Могу ли я каким-либо образом ограничить это максимальным количеством потоков одновременно(скажем, 20)?

2
0

Кафка всегда передает данные одного раздела одному потоку-потребителю

Для ограничения количества потоков 20 с 150 разделы, вы можете установить параллелизм на 8 что должно эффективно создать 8 отдельных экземпляров-потребителей и ограничить количество потоков максимум <19 (150/8).

Это еще один пост в стеке на эту тему, который немного подробнее объясняет, как настроить параллелизм на вашей фабрике прослушивателей кафки. Кроме того, это еще один достойный источник для объяснения некоторых концепций, связанных с темами и разделами кафки.

2021-11-24 04:47:11
0
  1. Если вы хотите максимизировать потребление, да, вам нужно 150 consumer threads на 150 partitions (1 поток потребителя на раздел). В случае, если у вас есть только 20, вы не можете хотеть максимизировать потребление, вместо этого теперь 1 потребитель отвечает за потребление, например, 150/20=7 partitions. Это компромисс.

  2. Вы не захотите, чтобы ваше приложение потребляло 50 topics в одно время. Это приводит к проблеме масштаба. Допустим, сейчас одной теме необходимо увеличить количество своих partitions от 3 до 6, вы горизонтально масштабируете свое приложение от 1 до 2 экземпляров, что означает от 150 consumers до 300 consumers и есть только 150 + (6-3) = 153 активных consumers, остальные становятся праздными.

2021-11-25 03:34:09

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

Популярное в этой категории

Популярные вопросы в этой категории