This is the process of returning the network address of microservices. An ideal service discovery client has several critical features such as caching, failover, and load balancing. In order to avoid network latency when caching services, addresses are critical. The cache layer subscribes to updates from service discovery to ensure that it is always up to date. A typical microservice implementation layer is deployed in various locations for high availability; the service resolution client must know how to return the address of service instances based on load availability and other factors.