> Basically, who and how is managing network disconnection / outage ? Short answer is that the producer is responsible for retrying connection establishment and it automatically does so when the network connection to the broker fails. There is a connection retry interval that you can use. Once that is reached it gives up trying to reconnect.
> 1 ) If the "sync" producer has been created successfully, will it reconnect whenever it loses its connection to the broker or zk ? I could understand it's not happening as we expect the connection to be immediately available when using the sync producer. The ZK client library manages connection loss and reconnects to ZK. But be aware that ZK not being unavailable is never an option. > 2 ) How about the "async" producer ? Does it expect connection at creation time ? will it reconnect in case of failure ? Can you describe what connection issue you see at creation time. Is it just when you use the zk.connect option ? > 3 ) Finally, how about the "high level" consumer ? Afaik, it reconnects automatically It does, so does producer.