Actually, zookeeper really won't participate in the update process at all. If you're using a "zookeeper aware" client like SolrJ, the SolrJ library will read the cloud configuration from zookeeper, but will send all the updates to the leader of the shard that the document is meant to go to.
If you're not using a "zookeeper aware" client, you can send the update to any of the solr nodes, and they will evaluate the cloud configuration information they've already received from zookeeper, and then forward the document to leader of the shard that will handle the document update. In general, Zookeeper really only provides the cloud configuration information once (at most) during all the updates, the actual document update only gets sent to solr nodes. There's definitely no need to distribute load between zookeepers for this situation. Regards, Garth Grimm -----Original Message----- From: Sadheera Vithanage [mailto:sadhee...@gmail.com] Sent: Thursday, October 20, 2016 5:11 PM To: solr-user@lucene.apache.org Subject: Load balancing with solr cloud Hi again Experts, I have a question related to load balancing in solr cloud. If we have 3 zookeeper nodes and 3 solr instances (1 leader, 2 secondary replicas and 1 shard), when the traffic comes in the primary zookeeper server will be hammered, correct? I understand (or is it wrong) that zookeeper will load balance between solr nodes but if we want to distribute the load between zookeeper nodes as well, what is the best approach. Cost is a concern for us too. Thank you very much, in advance. -- Regards Sadheera Vithanage