Один KafkaConsumer прослушивает несколько разделов VS несколько KafkaConsumers прослушивает несколько разделов - PullRequest
0 голосов
/ 21 марта 2019

У меня есть десять производителей Kafka, каждый из которых пишет в разные разделы темы.

Не могу сказать, какой из них более эффективен.

Наличие одного потребителя, слушающего десять разделов или десять потребителейпрослушивание другого раздела?

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Как правило, если у вас несколько потребителей, вы сможете получить большую пропускную способность, поскольку у вас будет несколько потоков / приложений, извлекающих данные из кластера kafka, что означает, что вы сможете распараллеливаться между несколькими ядрами, и, возможно, несколько серверов.

Однако вам также нужно учитывать то, что вы пытаетесь достичь. Нужно ли одному процессу / приложению просматривать все данные? Являются ли сообщения независимыми друг от друга? Все это сообщит, как должно быть разработано ваше приложение.

В конфигурации по умолчанию все доступные разделы для темы будут распределены между всеми потребителями с одинаковым идентификатором группы. Таким образом, вы можете иметь одного потребителя, и он автоматически захватит все разделы по этой теме. Или вы можете создать экземпляр десяти потребителей, и в этом случае каждый потребитель получит ровно один раздел.

0 голосов
/ 21 марта 2019

Нет разницы между этими двумя способами.Но помните, что когда у вас есть десять потребителей, есть издержки на подключение каждого потребителя к Kafka.

Если есть возможность потребления разных разделов одним потребителем, так что, вероятно, этого достаточно для производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...