#apache-kafka #kafka-producer-api
#apache-kafka #kafka-producer-api
Вопрос:
Kafka удалил --num-threads
опцию из option of org.apache.kafka.tools.ProducerPerformance
в Kafka 2.0
Каково другое решение из этого?
Ответ №1:
Сначала нам нужно понять, для чего изначально использовался параметр —num-threads.
Этот параметр --num-threads
ранее использовался для управления пропускной способностью сообщений в потоке.
Что-то вроде
ProducerPerformanceThread[] producerPerformanceThreads = new ProducerPerformanceThread[numThreads];
long numRecordsPerThread = numRecords / numThreads;
int throughputPerThread = throughput <= 0 ? throughput : Math.max(throughput / numThreads, 1);
int batchSize = 1;
Однако теперь с этим изменением они покончили с грубым способом регулирования пропускной способности и вместо этого предоставили вам возможность полностью отказаться от регулирования, что вы можете сделать, установив для параметра —throughput значение -1
если присмотреться, внутренняя реализация теперь выглядит примерно так
ThroughputThrottler throttler = new ThroughputThrottler(throughput, startMs);
Итак, теперь вам следует установить только значение пропускной способности и не беспокоиться о количестве потоков.