After looking at the downfall of the DNS performance in a dynamic environment, there is a need for a service that is dedicated to this particular purpose, and it should provide the following facilities:
- Services should be able to register or deregister their availability
- Services should be able to communicate their changes to other services
- Services should be able to locate a single instance of a particular service
These services are provided by a discovery service. A discovery service is kind of a database of service instances available in a system. Each microservice that comes up and goes down should register or deregister here. Any microservice can get the meta-information, which can include host, port, service ...