I have kafka cluster of 15 nodes:
kafka1.com:9092,kafkaN.com:9092...,kafka10.com:9092
Also I have application of 10 nodes which consumes around 100 topics(from 2 to 240 partitions). For each topic application creates separate instance of KafkaStreams object with some transform logic.
Before I had such amount of consumer nodes, I did not have any issues, but with increasing nodes count during deploy this application started to load kafka cluster heavily. But if whole cluster loses in average ~2% of CPU during deploy, first node in broker list kafka1.com:9092
loses around 50-60% of CPU and key metric Average fraction of time the request handler threads are idle
becomes very low for this broker.
This behavior absolutely the same if kafka under load (huge throughput), or no messages processed at all.
I've tried to play with settings, but each time I see same metrics =(
I even updated kafka-clients to 2.3.0
version
Broker is 1.1.1
version
I think it's might be connected to metadata fetching, since I see no other way Kafka Streams (consumer, producer, admin clients) requests another data from first broker in list.
But why it loads broker so much?