Client Side Service Discovery
Services typically need to call one another. In a monolithic application, services invoke one another through language-level method or procedure calls. In a traditional distributed system deployment, services run at fixed, well known locations (hosts and ports) and so can easily call one another using HTTP/REST or some RPC mechanism. However, a modern microservice based application typically runs in a virtualized or containerized environments where the number of instances of a service and their locations changes dynamically.
How does the Pega client (typically a REST Connector in Pega) of a service - the API gateway or another service - discover the location of a service instance?
What will we need to build in the Pega environment to enable this?