Я видел эту записку в Кафка потребительской документации -Кафка Потребитель - Клиент Java
Поскольку существует несколько разделов это по-прежнему балансирует нагрузку в течение многих потребительских экземпляров. Обратите внимание, однако, что не может быть больше потребителей экземпляров, чем разделов.
У меня есть 50 разделов для одной темы. Если я дам значение a_numThreads как 50, из каждого раздела будет выведено 1 сообщение? Вышеупомянутое сообщение означает, что я не могу создать более 50 потоков в любой момент времени в моем случае?
public void run(int a_numThreads) {
Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
topicCountMap.put(topic, new Integer(a_numThreads));
Map<String, List<KafkaStream<byte[], byte[]>>> consumerMap = consumer.createMessageStreams(topicCountMap);
List<KafkaStream<byte[], byte[]>> streams = consumerMap.get(topic);
// now launch all the threads
//
executor = Executors.newFixedThreadPool(a_numThreads);
// now create an object to consume the messages
//
int threadNumber = 0;
for (final KafkaStream stream : streams) {
executor.submit(new ConsumerTest(stream, threadNumber));
threadNumber++;
}
}