Centralized configuration
While dealing with SolrCloud, the question that comes to mind is how any change in the schema or configuration will be propagated to the different nodes in the cluster. The ZooKeeper ensemble takes care of this.
The ZooKeeper ensemble is another cluster of servers having high availability and failover solutions built into the system. It takes care of the distribution of the schema, configuration and other files, and maintenance of the leader and replica information with regard to SolrCloud. The advantage of this is that whenever any change in the schema or configuration occurs, we need not worry about how it is propagated to all the nodes in the cluster; the ZooKeeper ensemble takes care of the propagation.
It is generally recommended to keep at least three servers for the ZooKeeper ensemble to provide for the failover scenarios. The ZooKeeper service can be run as a separate service, as nodes running SolrCloud, or in separate machines. The ZooKeeper process is lightweight...