com.netflix.loadbalancer
Class AbstractLoadBalancer
java.lang.Object
com.netflix.loadbalancer.AbstractLoadBalancer
- All Implemented Interfaces:
- ILoadBalancer
- Direct Known Subclasses:
- BaseLoadBalancer, NoOpLoadBalancer
public abstract class AbstractLoadBalancer
- extends java.lang.Object
- implements ILoadBalancer
AbstractLoadBalancer contains features required for most loadbalancing
implementations.
An anatomy of a typical LoadBalancer consists of 1. A List of Servers (nodes)
that are potentially bucketed based on a specific criteria. 2. A Class that
defines and implements a LoadBalacing Strategy via IRule
3. A
Class that defines and implements a mechanism to determine the
suitability/availability of the nodes/servers in the List.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractLoadBalancer
public AbstractLoadBalancer()
chooseServer
public Server chooseServer()
- delegate to
ILoadBalancer.chooseServer(Object)
with parameter null.
getServerList
public abstract java.util.List<Server> getServerList(AbstractLoadBalancer.ServerGroup serverGroup)
- List of servers that this Loadbalancer knows about
- Parameters:
availableOnly
- if true will only return the subset of servers that are in the
list as marked as "up" a null value will send all servers
- Returns:
getLoadBalancerStats
public abstract LoadBalancerStats getLoadBalancerStats()
- Obtain LoadBalancer related Statistics
- Returns: