|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tangosol.util.Base
com.tangosol.net.LoadBalancer
public class LoadBalancer
A non-sticky HTTP load-balancer.
Nested Class Summary | |
---|---|
static class |
LoadBalancer.AddressPort
An AddressPort is an immutable combination of an IP address and a port number. |
static class |
LoadBalancer.Queue
A Queue is used to effeciently queue up items for daemon threads to work on. |
class |
LoadBalancer.RequestHandler
A RequestHandler is a daemon thread that processes a request from a queue. |
class |
LoadBalancer.ResponseHandler
A ResponseHandler is a daemon thread that processes an outgoing response from a destination server. |
static class |
LoadBalancer.SocketHandler
A SocketHandler is an abstract daemon thread. |
Field Summary | |
---|---|
protected LoadBalancer.AddressPort[] |
m_aAddrPortDest
The AddressPort combinations that the load balancer will balance to. |
protected LoadBalancer.AddressPort |
m_addrportHost
The AddressPort combination that the load balancer will listen on. |
protected boolean |
m_fRoundRobin
Toggles between random and round-robin load balancing. |
protected int |
m_iNextDestination
Round-robin index. |
protected List |
m_listHandler
The list of RequestHandler daemons. |
protected Properties |
m_propOptions
The optional settings that the load balancer will use. |
protected LoadBalancer.Queue |
m_queue
The queue of pending requests. |
protected Random |
m_random
Random number generator. |
protected Thread |
m_threadRunning
The Thread that the load balancer is started on. |
Constructor Summary | |
---|---|
LoadBalancer(LoadBalancer.AddressPort addrportHost,
LoadBalancer.AddressPort[] aAddrPortDest,
Properties propOptions)
Instantiate a LoadBalancer object that will listen on a host address/port and redirect requests to destination addresses/ports. |
Method Summary | |
---|---|
LoadBalancer.AddressPort |
getDestination(int i)
Determine one of the AddressPort combinations that the load balancer balances requests to. |
int |
getDestinationCount()
Determine the number of AddressPort combinations that the load balancer balances requests to. |
LoadBalancer.AddressPort |
getHost()
Determine the AddressPort that the load balancer listens on. |
protected LoadBalancer.AddressPort |
getNextDestination()
Determine the next AddressPort combination to route to. |
Socket |
getNextDestinationSocket()
Open a socket to route to. |
boolean |
getProperty(String sName,
boolean fDefault)
Determine the value of a boolean option. |
int |
getProperty(String sName,
int nDefault)
Determine the value of an integer option. |
String |
getProperty(String sName,
String sDefault)
Determine the value of a String option. |
protected LoadBalancer.Queue |
getQueue()
Determine the Queue that Socket connections are placed into. |
protected LoadBalancer.AddressPort |
getRandomDestination()
Determine a random AddressPort combination to route to. |
protected LoadBalancer.AddressPort |
getRoundRobinDestination()
Using a round-robin algorithm, determine the next AddressPort combination to route to. |
protected LoadBalancer.Queue |
instantiateQueue()
Factory method: Create a queue. |
protected LoadBalancer.RequestHandler |
instantiateRequestHandler(LoadBalancer.Queue queue)
Factory method: Create a RequestHandler. |
protected LoadBalancer.ResponseHandler |
instantiateResponseHandler(LoadBalancer.RequestHandler daemonRequest)
Factory method: Create a ResponseHandler. |
static void |
main(String[] asArgs)
Command-line capability to start the load balancer. |
protected static String |
parseThreadExtension(Daemon daemon)
Parse the extension glued onto the end of a daemon's thread's name. |
void |
run()
Start the LoadBalancer. |
static void |
showInstructions()
Display the instructions for the command-line utility. |
Field Detail |
---|
protected LoadBalancer.AddressPort m_addrportHost
protected LoadBalancer.AddressPort[] m_aAddrPortDest
protected Properties m_propOptions
protected Thread m_threadRunning
protected LoadBalancer.Queue m_queue
protected List m_listHandler
protected boolean m_fRoundRobin
protected Random m_random
protected int m_iNextDestination
Constructor Detail |
---|
public LoadBalancer(LoadBalancer.AddressPort addrportHost, LoadBalancer.AddressPort[] aAddrPortDest, Properties propOptions)
addrportHost
- the AddressPort combination for this hostaAddrPortDest
- the array of AddressPort combinations that
requests will be sent toMethod Detail |
---|
public static void main(String[] asArgs)
public static void showInstructions()
public void run()
run
in interface Runnable
public LoadBalancer.AddressPort getHost()
public int getDestinationCount()
public LoadBalancer.AddressPort getDestination(int i)
i
- an index in the range 0 < i < getDesinationCount()
public Socket getNextDestinationSocket()
protected LoadBalancer.AddressPort getNextDestination()
protected LoadBalancer.AddressPort getRandomDestination()
protected LoadBalancer.AddressPort getRoundRobinDestination()
protected LoadBalancer.Queue getQueue()
public String getProperty(String sName, String sDefault)
sName
- the property name that specifies the option to look upsDefault
- the default option value to use if the option is not
set
public int getProperty(String sName, int nDefault)
sName
- the property name that specifies the option to look upnDefault
- the default option value to use if the option is not
set
public boolean getProperty(String sName, boolean fDefault)
sName
- the property name that specifies the option to look upfDefault
- the default option value to use if the option is not
set
protected static String parseThreadExtension(Daemon daemon)
daemon
- a Daemon object
protected LoadBalancer.Queue instantiateQueue()
protected LoadBalancer.RequestHandler instantiateRequestHandler(LoadBalancer.Queue queue)
queue
- a Queue of Socket objects
protected LoadBalancer.ResponseHandler instantiateResponseHandler(LoadBalancer.RequestHandler daemonRequest)
daemonRequest
- the RequestHandler that the ResponseHandler will
belong to
|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |