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)
ClientLoadbalanceStrategy
InterceptorRegistry
, to intercept
requests.initialize
in interface ClientLoadbalanceStrategy
connector
- the connector to configurepublic RSocket select(List<RSocket> sockets)
LoadbalanceStrategy
RSocket
from the given non-empty list.select
in interface LoadbalanceStrategy
sockets
- 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.