Могут ли несколько потребителей приложения kafka работать в одном потоке? - PullRequest
1 голос
/ 01 апреля 2020

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

I Я прошу об этом, потому что я также читаю , что:

Вы не можете иметь несколько потребителей, принадлежащих к одной группе, в одном потоке (...)

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

Второй вопрос: почему, когда я устанавливаю num.stream.threads равным число больше, чем количество потребителей, это не помогло.

1 Ответ

1 голос
/ 02 апреля 2020

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

Нет. Kafka Streams создает потоки на основе конфигурации num.stream.threads и создает по одному KafkaConsumer на поток.

Второй вопрос: почему, когда я устанавливаю num.stream.threads на число, большее числа потребителей это не помогло.

Что вы подразумеваете под "большим количеством потребителей". Конфигурация с номером потребителя отсутствует.

...