com.netflix.loadbalancer
Class ZoneAvoidanceRule

java.lang.Object
  extended by com.netflix.loadbalancer.AbstractLoadBalancerRule
      extended by com.netflix.loadbalancer.ClientConfigEnabledRoundRobinRule
          extended by com.netflix.loadbalancer.AvailabilityFilteringRule
              extended by com.netflix.loadbalancer.ZoneAvoidanceRule
All Implemented Interfaces:
IClientConfigAware, IRule

public class ZoneAvoidanceRule
extends AvailabilityFilteringRule


Constructor Summary
ZoneAvoidanceRule()
           
 
Method Summary
 Server choose(BaseLoadBalancer lb, java.lang.Object key)
           
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)
           
 
Methods inherited from class com.netflix.loadbalancer.ClientConfigEnabledRoundRobinRule
initWithNiwsConfig
 
Methods inherited from class com.netflix.loadbalancer.AbstractLoadBalancerRule
getLoadBalancer, setLoadBalancer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZoneAvoidanceRule

public ZoneAvoidanceRule()
Method Detail

choose

public Server choose(BaseLoadBalancer lb,
                     java.lang.Object key)
Specified by:
choose in interface IRule
Overrides:
choose in class AvailabilityFilteringRule

getAvailableZones

public static java.util.Set<java.lang.String> getAvailableZones(java.util.Map<java.lang.String,ZoneSnapshot> snapshot,
                                                                double triggeringLoad,
                                                                double triggeringBlackoutPercentage)

getAvailableZones

public static java.util.Set<java.lang.String> getAvailableZones(LoadBalancerStats lbStats,
                                                                double triggeringLoad,
                                                                double triggeringBlackoutPercentage)