Kafka Streams - несколько потоков или несколько экземпляров с одинаковым идентификатором приложения - PullRequest
0 голосов
/ 16 октября 2019

У меня есть приложение Kafka Streams, которое использует тему «А» с 10 разделами и примерно 10 000 сообщений в секунду. Я не понимаю, что будет лучше для моего приложения.

To run multiple Kafka Streams application instances with same consumer group.
  OR 
To run single kafka streams application with more num.stream.threads

1 Ответ

1 голос
/ 16 октября 2019

Как упомянуто в слиянии blog

Максимальный параллелизм, при котором может выполняться ваше приложение, ограничен максимальным числом потоковых задач, которое само определяется максимальным числомразделов входной темы, из которой приложение читает. Например, если входная тема имеет 5 разделов, вы можете запустить до 5 экземпляров приложений.

Таким образом, нет никакой разницы, когда вы запускаете 10 экземпляров приложения или одно потоковое приложение с 10 потоками вобработка сообщений. За исключением случаев, когда вы запускаете 10 экземпляров приложения, вы можете запускать его на разных виртуальных машинах JVM, распределенных по разным машинам, что может помочь в некотором улучшении пропускной способности.

Также см. this

...