Module io.inverno.mod.discovery
Package io.inverno.mod.discovery
Class RandomTrafficLoadBalancer<A extends ServiceInstance,B>
java.lang.Object
io.inverno.mod.discovery.RandomTrafficLoadBalancer<A,B>
- Type Parameters:
A
- the type of service instanceB
- the type of service request
- All Implemented Interfaces:
TrafficLoadBalancer<A,
B>
- Direct Known Subclasses:
WeightedRandomTrafficLoadBalancer
public class RandomTrafficLoadBalancer<A extends ServiceInstance,B>
extends Object
implements TrafficLoadBalancer<A,B>
A traffic load balancer that selects a random service instance in a list of service instances.
- Since:
- 1.12
- Author:
- Jeremy Kuhn
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.inverno.mod.discovery.TrafficLoadBalancer
TrafficLoadBalancer.Factory<A extends ServiceInstance,
B> -
Constructor Summary
ConstructorDescriptionRandomTrafficLoadBalancer
(Collection<A> instances) Creates a random traffic load balancer. -
Method Summary
-
Constructor Details
-
RandomTrafficLoadBalancer
Creates a random traffic load balancer.
- Parameters:
instances
- a collection of service instances
-
-
Method Details
-
next
Description copied from interface:TrafficLoadBalancer
Returns the next service instance to use to process the specified service request.
- Specified by:
next
in interfaceTrafficLoadBalancer<A extends ServiceInstance,
B> - Parameters:
serviceRequest
- a service request- Returns:
- a
Mono
emitting the next service instance
-