Search Results for

    Show / Hide Table of Contents

    Class LoadBalancer

    Selects destinations, skipping Draining/Maintenance/Unhealthy. Honors weight, least-requests, least-time, and affinity.

    Inheritance
    object
    LoadBalancer
    Implements
    ILoadBalancer
    ILatencyRecorder
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Titanium.Web.Proxy.Clusters
    Assembly: Titanium.Web.Proxy.dll
    Syntax
    public sealed class LoadBalancer : ILoadBalancer, ILatencyRecorder

    Constructors

    | Edit this page View Source

    LoadBalancer(DestinationHealthTracker?)

    Declaration
    public LoadBalancer(DestinationHealthTracker? health = null)
    Parameters
    Type Name Description
    DestinationHealthTracker health

    Properties

    | Edit this page View Source

    Health

    Declaration
    public DestinationHealthTracker Health { get; }
    Property Value
    Type Description
    DestinationHealthTracker

    Methods

    | Edit this page View Source

    GetDestinationLatency(string)

    Last observed latency for a destination; null if unknown.

    Declaration
    public TimeSpan? GetDestinationLatency(string destinationId)
    Parameters
    Type Name Description
    string destinationId
    Returns
    Type Description
    TimeSpan?
    | Edit this page View Source

    Record(string, TimeSpan)

    Declaration
    public void Record(string name, TimeSpan duration)
    Parameters
    Type Name Description
    string name
    TimeSpan duration
    | Edit this page View Source

    RecordDestination(string, TimeSpan)

    Record per-destination RTT for least-time LB. Default no-op.

    Declaration
    public void RecordDestination(string destinationId, TimeSpan duration)
    Parameters
    Type Name Description
    string destinationId
    TimeSpan duration
    | Edit this page View Source

    Select(ClusterConfig, ImmutableClusterSnapshot)

    Declaration
    public DestinationConfig? Select(ClusterConfig cluster, ImmutableClusterSnapshot snapshot)
    Parameters
    Type Name Description
    ClusterConfig cluster
    ImmutableClusterSnapshot snapshot
    Returns
    Type Description
    DestinationConfig
    | Edit this page View Source

    Select(ClusterConfig, ImmutableClusterSnapshot, LoadBalanceContext)

    Select with affinity / algorithm context. Default forwards to Titanium.Web.Proxy.Abstractions.Routing.ILoadBalancer.Select(Titanium.Web.Proxy.Abstractions.Clusters.ClusterConfig, Titanium.Web.Proxy.Abstractions.Clusters.ImmutableClusterSnapshot).

    Declaration
    public DestinationConfig? Select(ClusterConfig cluster, ImmutableClusterSnapshot snapshot, LoadBalanceContext context)
    Parameters
    Type Name Description
    ClusterConfig cluster
    ImmutableClusterSnapshot snapshot
    LoadBalanceContext context
    Returns
    Type Description
    DestinationConfig

    Implements

    Titanium.Web.Proxy.Abstractions.Routing.ILoadBalancer
    Titanium.Web.Proxy.Abstractions.Plugins.ILatencyRecorder
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX