Package com.netflix.loadbalancer

Interface Summary
ILoadBalancer Interface that defines the operations for a software loadbalancer.
IPing Interface that defines how we "ping" a server to check if its alive
IRule Interface that defines a "Rule" for a LoadBalancer.
ServerList<T extends Server> Interface that defines the methods sed to obtain the List of Servers
ServerListFilter<T extends Server> This interface allows for filtering the configured or dynamically obtained List of candidate servers with desirable characteristics.
 

Class Summary
AbstractLoadBalancer AbstractLoadBalancer contains features required for most loadbalancing implementations.
AbstractLoadBalancerPing Class that provides the basic implementation of detmerining the "liveness" or suitability of a Server (a node)
AbstractLoadBalancerRule Class that provides a
AbstractServerList<T extends Server> The class that defines how a list of servers are obtained, updated and filtered for use by NIWS
AbstractServerListFilter<T extends Server> Class that is responsible to Filter out list of servers from the ones currently available in the Load Balancer
AvailabilityFilteringRule  
BaseLoadBalancer A basic implementation of the load balancer where an arbitrary list of servers can be set as the server pool.
ClientConfigEnabledRoundRobinRule This class essentially contains the RoundRobinRule class defined in the loadbalancer package
ConfigurationBasedServerList Utility class that can load the List of Servers from a Configuration (i.e properties available via Archaius)
DummyPing Default simple implementation that marks the liveness of a Server
DynamicServerListLoadBalancer<T extends Server> A LoadBalancer that has the capabilities to obtain the candidate list of servers using a dynamic source.
InterruptTask  
LoadBalancerStats Class that acts as a repository of operational charateristics and statistics of every Node/Server in the LaodBalancer.
NoOpLoadBalancer A noOp Loadbalancer i.e.
NoOpPing No Op Ping
PingConstant A utility Ping Implementation that returns whatever its been set to return (alive or dead)
RandomRule A loadbalacing strategy that randomly distributes traffic amongst existing servers.
ResponseTimeWeightedRule Rule that use the average/percentile response times to assign dynamic "weights" per Server which is then used in the "Weighted Round Robin" fashion The basic idea for weighted round robin has been obtained from JCS The implementation for choosing the endpoint from the list of endpoints is as follows:Let's assume 4 endpoints:A(wt=10), B(wt=30), C(wt=40), D(wt=20).
RetryRule Given that IRule can be cascaded, this RetryRule class allows adding a retry logic to an existing Rule.
RoundRobinRule The most well known and basic loadbalacing strategy, i.e.
Server Class that represents a typical Server (or an addressable Node) i.e.
ServerComparator Class to help establishing equality for Hash/Key operations.
ServerStats Capture various stats per Server(node) in the LoadBalancer
WeightedResponseTimeRule This class essentially contains the ResponseTimeWeightedRule class defined in the loadbalancer package
ZoneAvoidanceRule  
ZoneAwareLoadBalancer<T extends Server> Load balancer that can avoid a zone as a whole when choosing server.
ZoneSnapshot Captures the metrics on a Per Zone basis (Zone is modeled after the Amazon Availability Zone)
ZoneStats<T extends Server> Class that stores Statistics per Zone (where Zone is typically a Amazon Availability Zone)
 

Enum Summary
AbstractLoadBalancer.ServerGroup