One of the main component of micro service architecture is service discovery (SD). So far in this blog I mentioned two tools for service discovery, which are Eureka and Consul. But if you may notice, whenever I used spring-cloud framework, I always choose Eureka. On the other hand, I pick consul when I talked about Golang.
In a environment where number of instances and network locations changes dynamically, a client needs a discovery mechanism to determine the location of a service instance, in order to send a request to it.