public class WeightedLoadbalanceStrategy extends Object implements ClientLoadbalanceStrategy
LoadbalanceStrategy that assigns a weight to each RSocket based on availability and usage statistics. The weight is used to decide which
RSocket to select.
WeightedStatsRequestInterceptor| Modifier and Type | Class and Description |
|---|---|
static class |
WeightedLoadbalanceStrategy.Builder
Builder for
WeightedLoadbalanceStrategy. |
| Modifier and Type | Method and Description |
|---|---|
static WeightedLoadbalanceStrategy.Builder |
builder()
Return a builder to create a
WeightedLoadbalanceStrategy with. |
static WeightedLoadbalanceStrategy |
create()
Create an instance of
WeightedLoadbalanceStrategy with default settings, which include
round-robin load-balancing and 5 maxPairSelectionAttempts. |
void |
initialize(RSocketConnector connector)
Initialize the connector, for example using the
InterceptorRegistry, to intercept
requests. |
RSocket |
select(List<RSocket> sockets)
Select an
RSocket from the given non-empty list. |
public void initialize(RSocketConnector connector)
ClientLoadbalanceStrategyInterceptorRegistry, to intercept
requests.initialize in interface ClientLoadbalanceStrategyconnector - the connector to configurepublic RSocket select(List<RSocket> sockets)
LoadbalanceStrategyRSocket from the given non-empty list.select in interface LoadbalanceStrategysockets - the list to choose frompublic static WeightedLoadbalanceStrategy create()
WeightedLoadbalanceStrategy with default settings, which include
round-robin load-balancing and 5 maxPairSelectionAttempts.public static WeightedLoadbalanceStrategy.Builder builder()
WeightedLoadbalanceStrategy with.