With constantly dynamic and evolving services, our gateway needs to know the location (IP address, service port) of every microservice in the system. Now, this can be hotwired in the system but as they are evolving we need a more dynamic method as services constantly auto-scale and upgrade. For example, in our shopping cart microservices, we may constantly add new services based on use case. Now API Gateway needs to know the location of these services so it can query any of the services any time to return the response to the client. API Gateway must maintain communication with service registry which is just a database of all microservices locations and their instances.