Package

com.twitter.finagle

loadbalancer

Permalink

package loadbalancer

Visibility
  1. Public
  2. All

Type Members

  1. abstract class DistributorT[Node] extends AnyRef

    Permalink

    The base type of the load balancer distributor.

    The base type of the load balancer distributor. Distributors are updated nondestructively, but, as with nodes, may share some data across updates.

    Attributes
    protected
  2. class HeapBalancer[Req, Rep] extends ServiceFactory[Req, Rep] with OnReady

    Permalink

    An efficient load balancer that operates on Activity[Set[ServiceFactory[Req, Rep]]].

  3. abstract class LoadBalancerFactory extends AnyRef

    Permalink

    A thin interface around a Balancer's constructor that allows Finagle to pass in context from the stack to the balancers at construction time.

    A thin interface around a Balancer's constructor that allows Finagle to pass in context from the stack to the balancers at construction time.

    See also

    The user guide for more details.

    Balancers for a collection of available balancers.

  4. trait NodeT[Req, Rep] extends ServiceFactory[Req, Rep]

    Permalink

    The base type of nodes over which load is balanced.

    The base type of nodes over which load is balanced. Nodes define the load metric that is used; distributors like P2C will use these to decide where to balance the next request.

    Attributes
    protected
  5. class RoundRobinBalancer[Req, Rep] extends ServiceFactory[Req, Rep] with Balancer[Req, Rep] with Updating[Req, Rep]

    Permalink

    A simple round robin balancer that chooses the next backend in the list for each request.

Value Members

  1. object Aperture

    Permalink
  2. object Balancers

    Permalink

    Constructor methods for various load balancers.

    Constructor methods for various load balancers. The methods take balancer specific parameters and return a LoadBalancerFactory that allows you to easily inject a balancer into the Finagle stack via client configuration.

    See also

    The user guide for more details.

  3. object ConcurrentLoadBalancerFactory

    Permalink

    A load balancer that balances among multiple connections, useful for managing concurrency in pipelining protocols.

    A load balancer that balances among multiple connections, useful for managing concurrency in pipelining protocols.

    Each endpoint can open multiple connections. For N endpoints, each opens M connections, load balancer balances among N*M options. Thus, it increases concurrency of each endpoint.

  4. object DefaultBalancerFactory extends LoadBalancerFactory

    Permalink
  5. object HeapBalancer

    Permalink
  6. object LoadBalancerFactory

    Permalink
  7. object defaultBalancer extends GlobalFlag[String]

    Permalink

    We expose the ability to configure balancers per-process via flags.

    We expose the ability to configure balancers per-process via flags. 'heap', 'choice', and 'aperture' are valid choices for defaultBalancer. However, using this is generally not a good idea, as Finagle processes usually contain many clients. To configure the load balancer method on a client, use the configured method like so:

    {{ val balancer = Balancers.aperture(...) Protocol.configured(LoadBalancerFactory.Param(balancer)) }}

  8. package exp

    Permalink
  9. object perHostStats extends GlobalFlag[Boolean]

    Permalink

Ungrouped