org.jclouds.cloudloadbalancers.domain.internal
Class BaseNode<T extends BaseNode<T>>
java.lang.Object
org.jclouds.cloudloadbalancers.domain.internal.BaseNode<T>
- All Implemented Interfaces:
- Comparable<BaseNode<T>>
- Direct Known Subclasses:
- Node, NodeRequest
public class BaseNode<T extends BaseNode<T>>
- extends Object
- implements Comparable<BaseNode<T>>
The nodes defined by the load balancer are responsible for servicing the requests received
through the load balancer's virtual IP. By default, the load balancer employs a basic health
check that ensures the node is listening on its defined port. The node is checked at the time of
addition and at regular intervals as defined by the load balancer health check configuration. If
a back-end node is not listening on its port or does not meet the conditions of the defined
active health check for the load balancer, then the load balancer will not forward connections
and its status will be listed as OFFLINE. Only nodes that are in an ONLINE status will receive
and be able to service traffic from the load balancer.
All nodes have an associated status that indicates whether the node is ONLINE, OFFLINE, or
DRAINING. Only nodes that are in ONLINE status will receive and be able to service traffic from
the load balancer. The OFFLINE status represents a node that cannot accept or service traffic. A
node in DRAINING status represents a node that stops the traffic manager from sending any
additional new connections to the node, but honors established sessions. If the traffic manager
receives a request and session persistence requires that the node is used, the traffic manager
will use it. The status is determined by the passive or active health monitors.
If the WEIGHTED_ROUND_ROBIN load balancer algorithm mode is selected, then the caller should
assign the relevant weights to the node as part of the weight attribute of the node element. When
the algorithm of the load balancer is changed to WEIGHTED_ROUND_ROBIN and the nodes do not
already have an assigned weight, the service will automatically set the weight to "1" for all
nodes.
- Author:
- Adrian Cole
- See Also:
address
protected String address
port
protected int port
condition
protected BaseNode.Condition condition
weight
protected Integer weight
BaseNode
protected BaseNode()
BaseNode
public BaseNode(String address,
int port,
BaseNode.Condition condition,
Integer weight)
builder
public static <T extends BaseNode<T>> BaseNode.Builder<T> builder()
toBuilder
public BaseNode.Builder<T> toBuilder()
getAddress
public String getAddress()
getPort
public int getPort()
getCondition
public BaseNode.Condition getCondition()
getWeight
public Integer getWeight()
- the maximum weight of a node is 100.
compareTo
public int compareTo(BaseNode<T> arg0)
- Specified by:
compareTo
in interface Comparable<BaseNode<T extends BaseNode<T>>>
hashCode
public int hashCode()
- Overrides:
hashCode
in class Object
equals
public boolean equals(Object obj)
- Overrides:
equals
in class Object
toString
public String toString()
- Overrides:
toString
in class Object
Copyright © 2009-2011 jclouds. All Rights Reserved.