public class ZoneAvoidanceRule extends PredicateBasedRule
CompositePredicate
to filter servers based on zone and availability. The primary predicate is composed of
a ZoneAvoidancePredicate
and AvailabilityPredicate
, with the fallbacks to AvailabilityPredicate
and an "always true" predicate returned from AbstractServerPredicate.alwaysTrue()
Constructor and Description |
---|
ZoneAvoidanceRule() |
Modifier and Type | Method and Description |
---|---|
static java.util.Set<java.lang.String> |
getAvailableZones(LoadBalancerStats lbStats,
double triggeringLoad,
double triggeringBlackoutPercentage) |
static java.util.Set<java.lang.String> |
getAvailableZones(java.util.Map<java.lang.String,ZoneSnapshot> snapshot,
double triggeringLoad,
double triggeringBlackoutPercentage) |
AbstractServerPredicate |
getPredicate()
Method that provides an instance of
AbstractServerPredicate to be used by this class. |
void |
initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig) |
choose
setLoadBalancer
getLoadBalancer
public void initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig)
initWithNiwsConfig
in interface com.netflix.client.IClientConfigAware
initWithNiwsConfig
in class ClientConfigEnabledRoundRobinRule
public static java.util.Set<java.lang.String> getAvailableZones(java.util.Map<java.lang.String,ZoneSnapshot> snapshot, double triggeringLoad, double triggeringBlackoutPercentage)
public static java.util.Set<java.lang.String> getAvailableZones(LoadBalancerStats lbStats, double triggeringLoad, double triggeringBlackoutPercentage)
public AbstractServerPredicate getPredicate()
PredicateBasedRule
AbstractServerPredicate
to be used by this class.getPredicate
in class PredicateBasedRule