public class DynamicServerListLoadBalancer<T extends Server> extends BaseLoadBalancer
AbstractLoadBalancer.ServerGroup
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.atomic.AtomicBoolean |
serverListUpdateInProgress |
protected boolean |
serverRefreshEnabled |
allServerList, allServerLock, lbStats, lbTimer, maxTotalPingTimeSeconds, name, ping, pingInProgress, pingIntervalSeconds, rule, serverComparator, upServerList, upServerLock
Constructor and Description |
---|
DynamicServerListLoadBalancer() |
DynamicServerListLoadBalancer(com.netflix.client.config.IClientConfig clientConfig) |
DynamicServerListLoadBalancer(com.netflix.client.config.IClientConfig clientConfig,
IRule rule,
IPing ping,
ServerList<T> serverList,
ServerListFilter<T> filter) |
Modifier and Type | Method and Description |
---|---|
void |
enableAndInitLearnNewServersFeature()
Feature that lets us add new instances (from AMIs) to the list of
existing servers that the LB will use Call this method if you want this
feature enabled
|
void |
forceQuickPing() |
int |
getCoreThreads() |
ServerListFilter<T> |
getFilter() |
java.lang.String |
getLastUpdate() |
int |
getNumberMissedCycles() |
ServerList<T> |
getServerListImpl() |
void |
initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig) |
void |
setFilter(ServerListFilter<T> filter) |
void |
setPing(IPing ping) |
protected void |
setServerListForZones(java.util.Map<java.lang.String,java.util.List<Server>> zoneServersMap) |
void |
setServerListImpl(ServerList<T> niwsServerList) |
void |
setServersList(java.util.List lsrv)
Set the list of servers used as the server pool.
|
void |
shutdown() |
void |
stopServerListRefreshing() |
java.lang.String |
toString() |
protected void |
updateAllServerList(java.util.List<T> ls)
Update the AllServer list in the LoadBalancer if necessary and enabled
|
void |
updateListOfServers() |
addServer, addServerListChangeListener, addServers, cancelPingTask, choose, chooseServer, getClientConfig, getLoadBalancerStats, getMaxTotalPingTime, getName, getPing, getPingInterval, getPrimeConnections, getRule, getServerByIndex, getServerCount, getServerList, getServerList, init, isEnablePrimingConnections, isPingInProgress, lockAllServerList, lockUpServerList, markServerDown, markServerDown, primeCompleted, removeServerListChangeListener, setEnablePrimingConnections, setLoadBalancerStats, setMaxTotalPingTime, setPingInterval, setPrimeConnections, setRule
chooseServer
protected java.util.concurrent.atomic.AtomicBoolean serverListUpdateInProgress
protected volatile boolean serverRefreshEnabled
public DynamicServerListLoadBalancer()
public DynamicServerListLoadBalancer(com.netflix.client.config.IClientConfig clientConfig, IRule rule, IPing ping, ServerList<T> serverList, ServerListFilter<T> filter)
public DynamicServerListLoadBalancer(com.netflix.client.config.IClientConfig clientConfig)
public void initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig)
initWithNiwsConfig
in interface com.netflix.client.IClientConfigAware
initWithNiwsConfig
in class BaseLoadBalancer
public void setServersList(java.util.List lsrv)
BaseLoadBalancer
setServersList
in class BaseLoadBalancer
protected void setServerListForZones(java.util.Map<java.lang.String,java.util.List<Server>> zoneServersMap)
public ServerList<T> getServerListImpl()
public void setServerListImpl(ServerList<T> niwsServerList)
public void setPing(IPing ping)
setPing
in class BaseLoadBalancer
public ServerListFilter<T> getFilter()
public void setFilter(ServerListFilter<T> filter)
public void forceQuickPing()
forceQuickPing
in class BaseLoadBalancer
public void enableAndInitLearnNewServersFeature()
public void stopServerListRefreshing()
public void updateListOfServers()
protected void updateAllServerList(java.util.List<T> ls)
ls
- @Monitor(name="NumUpdateCyclesMissed", type=GAUGE) public int getNumberMissedCycles()
@Monitor(name="LastUpdated", type=INFORMATIONAL) public java.lang.String getLastUpdate()
@Monitor(name="NumThreads", type=GAUGE) public int getCoreThreads()
public java.lang.String toString()
toString
in class BaseLoadBalancer
public void shutdown()
shutdown
in class BaseLoadBalancer