Service discovery in microservices
In traditional models of application development, the services pertaining to a particular application are usually deployed in a static manner where their network locations do not change automatically. If this is the case, then maintaining a configuration file that is updated occasionally to reflect the changed network location of the services is absolutely fine.
But in modern microservice-based applications—where the number of services may go up and down based on a number of factors, such as load balancing, upscaling, the launch of new features, and so on—maintaining a configuration file turns out to be a bit hard. In addition, most cloud environments these days do not offer static network deployments for these services, meaning that the network location for the services may keep on changing, adding more trouble to the maintenance of the configuration file.
To tackle these kinds of scenarios, we need to have something that is more dynamic and can adapt to...