Thanks Ben.

The comments on the Jira mention a pluggable component that will manage the 
bootstrap list from a discovery service. 

That's exactly what I need.

Was a Kip drafted for this enhancement?

-Danny

> On Jun 1, 2016, at 7:05 AM, Ben Stopford <b...@confluent.io> wrote:
> 
> Hey Danny
> 
> Currently the bootstrap servers are only used when the client initialises 
> (there’s a bit of discussion around the issue in the jira below if you’re 
> interested). To implement failover you’d need to catch a timeout exception in 
> your client code, consulting your service discovery mechanism and 
> reinitialise the client. 
> 
> KAFKA-3068 <https://issues.apache.org/jira/browse/KAFKA-3068>
> 
> B
> 
>> On 31 May 2016, at 22:09, Danny Bahir <dannyba...@gmail.com> wrote:
>> 
>> Hello,
>> 
>> Working on a multi data center Kafka installation in which all clusters have 
>> the same topics, the producers will be able to connect to any of the 
>> clusters. Would like the ability to dynamically control the set of clusters 
>> a producer will be able to connect to, that will allow to gracefully take a 
>> cluster offline for maintenance.
>> Current design is to have one zk cluster that is across all data centers and 
>> will have info regarding what in which cluster a service is available.
>> 
>> In the case of Kafka it will house the info needed to populate 
>> bootstrap.servers, a wrapper will be placed around the Kafka producer and 
>> will watch this ZK value. When the value will change the producer instance 
>> with the old value will be shut down and a new producer with the new 
>> bootstrap.servers info will replace it.
>> 
>> Is there a best practice for achieving this?
>> 
>> Is there a way to dynamically update bootstrap.servers?
>> 
>> Does the producer always go to the same machine from bootstrap.servers when 
>> it refreshes the MetaData after metadata.max.age.ms has expired?
>> 
>> Thanks!
> 

Reply via email to