Description
Currently the ReactiveCompositeDiscoveryClient returns the first non-empty Flux of ServiceInstance
s when invoking its getInstances()
method.
When you use multiple DiscoveryClients and you want to balance traffic over them (e.g. a weighted load balancing strategy towards multiple cloud environments), you will have to disable the spring.cloud.discovery.reactive.enabled
and provide your own implementation that replaces the existing ReactiveCompositeDiscoveryClient
. Disabling this property also has some impact on other conditionals, such as in KubernetesInformerReactiveDiscoveryClientAutoConfiguration for example
This is manageable, but it feels like returning combined results of DiscoveryClients instead of returning the first non empty flux would often make more sense.
Would it be possible to add a property to switch the behaviour of the ReactiveCompositeDiscoveryClient so that results from DiscoveryClients are combined? (and perhaps also for the non reactive variant CompositeDiscoveryClient)