Class DiscoveryClientRoundRobinLoadBalancer
- java.lang.Object
-
- io.micronaut.http.client.loadbalance.AbstractRoundRobinLoadBalancer
-
- io.micronaut.http.client.loadbalance.DiscoveryClientRoundRobinLoadBalancer
-
- All Implemented Interfaces:
LoadBalancer
public class DiscoveryClientRoundRobinLoadBalancer extends AbstractRoundRobinLoadBalancer
A
LoadBalancerthat uses theDiscoveryClientand aServiceInstanceID to automatically load balance between discovered clients in a non-blocking manner.Note that the when
DiscoveryClientcaching is enabled then this load balancer may not always have the latest server list from theDiscoveryClient(the default TTL is 30 seconds)- Since:
- 1.0
-
-
Field Summary
-
Fields inherited from class io.micronaut.http.client.loadbalance.AbstractRoundRobinLoadBalancer
index
-
-
Constructor Summary
Constructors Constructor Description DiscoveryClientRoundRobinLoadBalancer(java.lang.String serviceID, io.micronaut.discovery.DiscoveryClient discoveryClient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetServiceID()org.reactivestreams.Publisher<io.micronaut.discovery.ServiceInstance>select(java.lang.Object discriminator)-
Methods inherited from class io.micronaut.http.client.loadbalance.AbstractRoundRobinLoadBalancer
getNextAvailable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.micronaut.http.client.LoadBalancer
getContextPath, select
-
-
-
-
Method Detail
-
getServiceID
public java.lang.String getServiceID()
- Specified by:
getServiceIDin classAbstractRoundRobinLoadBalancer- Returns:
- The service ID
-
select
public org.reactivestreams.Publisher<io.micronaut.discovery.ServiceInstance> select(java.lang.Object discriminator)
- Parameters:
discriminator- An object used to discriminate the server to select. Usually the service ID- Returns:
- The selected
ServiceInstance
-
-