Class LoadBalancer
Selects destinations, skipping Draining/Maintenance/Unhealthy. Honors weight, least-requests, least-time, and affinity.
Implements
ILoadBalancer
ILatencyRecorder
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
Properties
|
Edit this page
View Source
Health
Declaration
public DestinationHealthTracker Health { get; }
Property Value
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
|
Edit this page
View Source
Record(string, TimeSpan)
Declaration
public void Record(string name, TimeSpan duration)
Parameters
|
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
|
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