Class AdaptiveLoadBalancingRoutingLogic

  • All Implemented Interfaces:
    NoSerializationVerificationNeeded, RoutingLogic, java.io.Serializable, scala.Equals, scala.Product, scala.Serializable

    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
    • Constructor Detail

      • AdaptiveLoadBalancingRoutingLogic

        public AdaptiveLoadBalancingRoutingLogic​(ActorSystem system,
                                                 MetricsSelector metricsSelector)
    • Method Detail

      • $lessinit$greater$default$2

        public static MetricsSelector $lessinit$greater$default$2()
      • apply$mcZDD$sp

        public static boolean apply$mcZDD$sp​(double v1,
                                             double v2)
      • apply$mcDDD$sp

        public static double apply$mcDDD$sp​(double v1,
                                            double v2)
      • apply$mcFDD$sp

        public static float apply$mcFDD$sp​(double v1,
                                           double v2)
      • apply$mcIDD$sp

        public static int apply$mcIDD$sp​(double v1,
                                         double v2)
      • apply$mcJDD$sp

        public static long apply$mcJDD$sp​(double v1,
                                          double v2)
      • apply$mcVDD$sp

        public static void apply$mcVDD$sp​(double v1,
                                          double v2)
      • apply$mcZDI$sp

        public static boolean apply$mcZDI$sp​(double v1,
                                             int v2)
      • apply$mcDDI$sp

        public static double apply$mcDDI$sp​(double v1,
                                            int v2)
      • apply$mcFDI$sp

        public static float apply$mcFDI$sp​(double v1,
                                           int v2)
      • apply$mcIDI$sp

        public static int apply$mcIDI$sp​(double v1,
                                         int v2)
      • apply$mcJDI$sp

        public static long apply$mcJDI$sp​(double v1,
                                          int v2)
      • apply$mcVDI$sp

        public static void apply$mcVDI$sp​(double v1,
                                          int v2)
      • apply$mcZDJ$sp

        public static boolean apply$mcZDJ$sp​(double v1,
                                             long v2)
      • apply$mcDDJ$sp

        public static double apply$mcDDJ$sp​(double v1,
                                            long v2)
      • apply$mcFDJ$sp

        public static float apply$mcFDJ$sp​(double v1,
                                           long v2)
      • apply$mcIDJ$sp

        public static int apply$mcIDJ$sp​(double v1,
                                         long v2)
      • apply$mcJDJ$sp

        public static long apply$mcJDJ$sp​(double v1,
                                          long v2)
      • apply$mcVDJ$sp

        public static void apply$mcVDJ$sp​(double v1,
                                          long v2)
      • apply$mcZID$sp

        public static boolean apply$mcZID$sp​(int v1,
                                             double v2)
      • apply$mcDID$sp

        public static double apply$mcDID$sp​(int v1,
                                            double v2)
      • apply$mcFID$sp

        public static float apply$mcFID$sp​(int v1,
                                           double v2)
      • apply$mcIID$sp

        public static int apply$mcIID$sp​(int v1,
                                         double v2)
      • apply$mcJID$sp

        public static long apply$mcJID$sp​(int v1,
                                          double v2)
      • apply$mcVID$sp

        public static void apply$mcVID$sp​(int v1,
                                          double v2)
      • apply$mcZII$sp

        public static boolean apply$mcZII$sp​(int v1,
                                             int v2)
      • apply$mcDII$sp

        public static double apply$mcDII$sp​(int v1,
                                            int v2)
      • apply$mcFII$sp

        public static float apply$mcFII$sp​(int v1,
                                           int v2)
      • apply$mcIII$sp

        public static int apply$mcIII$sp​(int v1,
                                         int v2)
      • apply$mcJII$sp

        public static long apply$mcJII$sp​(int v1,
                                          int v2)
      • apply$mcVII$sp

        public static void apply$mcVII$sp​(int v1,
                                          int v2)
      • apply$mcZIJ$sp

        public static boolean apply$mcZIJ$sp​(int v1,
                                             long v2)
      • apply$mcDIJ$sp

        public static double apply$mcDIJ$sp​(int v1,
                                            long v2)
      • apply$mcFIJ$sp

        public static float apply$mcFIJ$sp​(int v1,
                                           long v2)
      • apply$mcIIJ$sp

        public static int apply$mcIIJ$sp​(int v1,
                                         long v2)
      • apply$mcJIJ$sp

        public static long apply$mcJIJ$sp​(int v1,
                                          long v2)
      • apply$mcVIJ$sp

        public static void apply$mcVIJ$sp​(int v1,
                                          long v2)
      • apply$mcZJD$sp

        public static boolean apply$mcZJD$sp​(long v1,
                                             double v2)
      • apply$mcDJD$sp

        public static double apply$mcDJD$sp​(long v1,
                                            double v2)
      • apply$mcFJD$sp

        public static float apply$mcFJD$sp​(long v1,
                                           double v2)
      • apply$mcIJD$sp

        public static int apply$mcIJD$sp​(long v1,
                                         double v2)
      • apply$mcJJD$sp

        public static long apply$mcJJD$sp​(long v1,
                                          double v2)
      • apply$mcVJD$sp

        public static void apply$mcVJD$sp​(long v1,
                                          double v2)
      • apply$mcZJI$sp

        public static boolean apply$mcZJI$sp​(long v1,
                                             int v2)
      • apply$mcDJI$sp

        public static double apply$mcDJI$sp​(long v1,
                                            int v2)
      • apply$mcFJI$sp

        public static float apply$mcFJI$sp​(long v1,
                                           int v2)
      • apply$mcIJI$sp

        public static int apply$mcIJI$sp​(long v1,
                                         int v2)
      • apply$mcJJI$sp

        public static long apply$mcJJI$sp​(long v1,
                                          int v2)
      • apply$mcVJI$sp

        public static void apply$mcVJI$sp​(long v1,
                                          int v2)
      • apply$mcZJJ$sp

        public static boolean apply$mcZJJ$sp​(long v1,
                                             long v2)
      • apply$mcDJJ$sp

        public static double apply$mcDJJ$sp​(long v1,
                                            long v2)
      • apply$mcFJJ$sp

        public static float apply$mcFJJ$sp​(long v1,
                                           long v2)
      • apply$mcIJJ$sp

        public static int apply$mcIJJ$sp​(long v1,
                                         long v2)
      • apply$mcJJJ$sp

        public static long apply$mcJJJ$sp​(long v1,
                                          long v2)
      • apply$mcVJJ$sp

        public static void apply$mcVJJ$sp​(long v1,
                                          long v2)
      • select

        public Routee select​(java.lang.Object message,
                             scala.collection.immutable.IndexedSeq<Routee> routees)
        Specified by:
        select in interface RoutingLogic
      • productPrefix

        public java.lang.String productPrefix()
        Specified by:
        productPrefix in interface scala.Product
      • productArity

        public int productArity()
        Specified by:
        productArity in interface scala.Product
      • productElement

        public java.lang.Object productElement​(int x$1)
        Specified by:
        productElement in interface scala.Product
      • productIterator

        public scala.collection.Iterator<java.lang.Object> productIterator()
        Specified by:
        productIterator in interface scala.Product
      • canEqual

        public boolean canEqual​(java.lang.Object x$1)
        Specified by:
        canEqual in interface scala.Equals
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object x$1)
        Specified by:
        equals in interface scala.Equals
        Overrides:
        equals in class java.lang.Object