Server-side discovery pattern

The pricing service will request the load balancer to connect to the demand service. Then, the load balancer will connect to the service registry to determine the available instance, and then route the request based on the load balancing configured.

For example, in Kubernetes, each pod will have its own server or proxy. All the requests are sent through this proxy (which has a dedicated IP and port associated with it).

The load balancing logic is moved away from the service and isolated into a separate service. On the downside, it requires yet another highly available service to handle the requests.