All apis for 0.8 are documented in https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol
However, there is no need for a producer to call the metadata api directly. Our producer client does this for you automatically. For your first question, if a new broker is added, currently we don't move data to it automatically. One has to run an admin command ReassignPartitionsCommand to balance the data. For your second question, yes, you need at least one broker in broker.list to be alive. Another option is to use a vip in broker.list. That way, you can change the list of brokers associated with the vip without reconfiguring the clients. The primary reason for removing ZK from the producer is to make it easy to write non-java clients. Thanks, Jun On Mon, Jan 14, 2013 at 10:28 PM, Jun Guo -X (jungu - CIIC at Cisco) < ju...@cisco.com> wrote: > CIIC at Cisco