Current documentation for Kafka 0.8.1 has the following under 5.1 API Design / Producer APIs:
- provides ZooKeeper based automatic broker discovery -
The ZooKeeper based broker discovery and load balancing can be used by specifying the ZooKeeper connection url through the zk.connect config parameter. For some applications, however, the dependence on ZooKeeper is inappropriate. In that case, the producer can take in a static list of brokers through the broker.list config parameter. Each produce requests gets routed to a random broker partition in this case. If that broker is down, the produce request fails.
This does not seem correct anymore as 1) zk.connect is no longer a valid parameter; and 2) the way the broker list is handled has changed from the above description.