akka.cluster.routing
Class AdaptiveLoadBalancingRoutingLogic
java.lang.Object
akka.cluster.routing.AdaptiveLoadBalancingRoutingLogic
- All Implemented Interfaces:
- NoSerializationVerificationNeeded, RoutingLogic, java.io.Serializable, scala.Equals, scala.Product
public final class AdaptiveLoadBalancingRoutingLogic
- extends java.lang.Object
- implements RoutingLogic, NoSerializationVerificationNeeded, scala.Product, scala.Serializable
Load balancing of messages to cluster nodes based on cluster metric data.
It uses random selection of routees based on probabilities derived from
the remaining capacity of corresponding node.
param: system the actor system hosting this router
param: metricsSelector decides what probability to use for selecting a routee, based
on remaining capacity as indicated by the node metrics
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface scala.Product |
productArity, productElement, productIterator, productPrefix |
Methods inherited from interface scala.Equals |
canEqual, equals |
AdaptiveLoadBalancingRoutingLogic
public AdaptiveLoadBalancingRoutingLogic(ActorSystem system,
MetricsSelector metricsSelector)
system
public ActorSystem system()
metricsSelector
public MetricsSelector metricsSelector()
metricsChanged
public final void metricsChanged(ClusterEvent.ClusterMetricsChanged event)
select
public Routee select(java.lang.Object message,
scala.collection.immutable.IndexedSeq<Routee> routees)
- Description copied from interface:
RoutingLogic
- Pick the destination for a given message. Normally it picks one of the
passed
routees
, but in the end it is up to the implementation to
return whatever Routee
to use for sending a specific message.
When implemented from Java it can be good to know that
routees.apply(index)
can be used to get an element
from the IndexedSeq
.
- Specified by:
select
in interface RoutingLogic
- Parameters:
message
- (undocumented)routees
- (undocumented)
- Returns:
- (undocumented)