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