class DefaultLoadBalancingParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring the Load Balancing (default) module of Finagle clients.
- A
a Stack.Parameterized client to configure
- Alphabetic
- By Inheritance
- DefaultLoadBalancingParams
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DefaultLoadBalancingParams(self: Parameterized[A])
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(loadBalancer: LoadBalancerFactory): A
Configures this client with a given load balancer that implements a strategy for choosing one host/node from a replica set to service a request.
Configures this client with a given load balancer that implements a strategy for choosing one host/node from a replica set to service a request.
The default setup for a Finagle client is to use power of two choices algorithm to distribute load across endpoints, while picking the least loaded one.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def panicMode(panicThreshold: PanicMode): A
Configures load balancer to "panic" when the percentage of unhealthy nodes reaches the panicThreshold.
Configures load balancer to "panic" when the percentage of unhealthy nodes reaches the panicThreshold. Load balancer will send some load to unhealthy nodes. Panic mode is probabilistic and per-request. Disabled for heap load balancer. Default is PanicMode.MajorityUnhealthy
- panicThreshold
a threshold percent of unhealthy nodes tolerated. When threshold is reached, the lB panics for that request. The higher the threshold, the more attempts the load balancer will retry. Note that these percents are estimates. They are calculated for P2C* and Aperture* LBs. For round robin, these percents do not apply because it is not a pick two based algorithm.
- def probation: A
Enables the probation mode for the current load balancer (default: disabled).
Enables the probation mode for the current load balancer (default: disabled).
When enabled, the balancer treats removals as advisory and flags them. If a a flagged endpoint is also detected as unhealthy by a circuit breaker (e.g. fail-fast, failure accrual, etc) then the host is removed from the collection.
Put differently, this allows the client to have a soft dependency on the source of its replica set. The client maintains stale entries as long as they are healthy from its perspective.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()