> Can I guess that the auto detecting ability for producer is weakened in > Kafka 0.8? Why you get rid of zookeeper from producer in Kafka 0.8?
In 0.8, we got rid of zookeeper from the producer and replaced its functionality with a metadata API. On startup and whenever a request fails, the producer refreshes its view of the cluster by sending a metadata request to any of the brokers. So if a broker goes down or a new broker comes up, the leader for some partitions might change and the producer will know since its requests to the older leaders will fail. By removing the dependency of zookeeper from the producer, we have in fact helped scale the number of producers you can have in a cluster since now each of them don't need to have a connection to zookeeper and deal with session expirations when there are minor glitches on the zookeeper cluster. Another goal of this change was also to enable writing non-java clients easier. Thanks, Neha