I am learning Zookeeper and I was stuck in middle with some confusion. I gone through various forums and questions and none clear my confusion and came to SO finally to get some clarification on the following things.
As I understand Zookeeper works in master-worker architecture. So how Kafka fits in this architecture? Does each Kafka broker in the Kafka cluster acts as a client to zookeeper server ensemble or the user applications that produces and consumes messages act as clients to Zookeeper ensemble?
For a particular topic/partition one Kafka broker would get engaged and if its get tons of messages (that it cannot handle), is it possible to distribute the work load using consistent hashing and how Zookeeper architecture support this?
Update: Does Zookeeper is something like variant of Gossip protocol used in DynamoDB for membership and failure detetion