Getting familiar with ZooKeeper
Let us start with understanding the background of ZooKeeper. When you think of implementing a distributed system across Solr servers and shards, ZooKeeper becomes a mandatory tool.
Prerequisites for a distributed server
In order to design a distributed system, you basically think of designing and developing the following coordination services:
Name service: It is a service that maps an entity to some other information associated to that entity. Assuming that we have an e-commerce online portal named
eStore
consisting of Piano XYZ as one of the products, the name serviceeStore
will map Piano XYZ with its other information such as its SKU. In terms of infrastructure management, it is as good as a domain name being mapped to its respective IP address using the DNS service. Since you are going to play around with multiple servers while implementing the distributed system, you should be keeping an eye on which servers and services are currently running and monitor...