[ 
https://issues.apache.org/jira/browse/KAFKA-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14103548#comment-14103548
 ] 

Joe Stein commented on KAFKA-1605:
----------------------------------

You need the meta data request/response not just on startup but on any error 
and on intervals to know what is happening in the cluster.  A connection to the 
broker(s) which your are doing already when you produce is used to handle the 
meta data request/response which is "better" than also requiring the producer 
to have yet another connection open to zookeeper (and zookeeper having to have 
yet another connection from somewhere else) to get this information.  

You can manage the broker list however you want.  It doesn't have to be IP you 
can use Hostnames or DNS.  You can also use Serf, Chef, Puppet, Zookeeper, 
whatever to store DNS or IP of your brokers.  Pass the broker list into the 
property file when dramatic changes within your infrastructure occur and 
everything should work for you.... or use DNS/Hostfile and you don't have to 
change anything in the file and just the entry for where DNS/Hostfile points 
too.

> Producer should not require metadata.broker.list
> ------------------------------------------------
>
>                 Key: KAFKA-1605
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1605
>             Project: Kafka
>          Issue Type: Improvement
>    Affects Versions: 0.8.1.1
>            Reporter: Prashant Deva
>
> Producer should just query the zookeeper and get the list of brokers from it 
> directly.
> With the current requirement the producer explicitly needs to know the ips of 
> all the brokers. So if you decide to replace them, you have to change the 
> Producer's code. 
> Isnt the whole point of using a zookeeper to avoid these kind of dependencies?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to