LoadBalancedEndpoints
The endpoints of a me.ahoo.wow.client.WowClient in an application that is no Wow service, each context's service named lb://<service> and its instance chosen by Spring Cloud LoadBalancer on every attempt, so a retry may reach another one: a context's public routes at the chosen instance's URI, its internal port at the internal address its WowInstanceMetadata names, which a node of a service with wow-spring-cloud registers.
WowClient.builder()
.endpoints(LoadBalancedEndpoints.of(loadBalancers, mapOf("bank" to URI.create("lb://bank-service"))))
.service("teller-app")
.build()loadBalancers is the application's ReactiveLoadBalancer.Factory<ServiceInstance>, the bean spring-cloud-starter-loadbalancer gives. A context that is not listed has no endpoint: the call fails as the code's mistake. A listed service with no instance to choose, or whose chosen instance names no internal port, is an outage for the moment: the call fails as wow.peer.unavailable and is retried.