load_balancer.proto

Package: gloo.solo.io

Types:

Source File: github.com/solo-io/gloo/projects/gloo/api/v1/load_balancer.proto

LoadBalancerConfig

LoadBalancerConfig is the settings for the load balancer used to send request to the Upstream endpoints.

"healthyPanicThreshold": .google.protobuf.DoubleValue
"updateMergeWindow": .google.protobuf.Duration
"roundRobin": .gloo.solo.io.LoadBalancerConfig.RoundRobin
"leastRequest": .gloo.solo.io.LoadBalancerConfig.LeastRequest
"random": .gloo.solo.io.LoadBalancerConfig.Random
"ringHash": .gloo.solo.io.LoadBalancerConfig.RingHash
"maglev": .gloo.solo.io.LoadBalancerConfig.Maglev
"localityWeightedLbConfig": .google.protobuf.Empty

Field Type Description
healthyPanicThreshold .google.protobuf.DoubleValue Configures envoy’s panic threshold Percent between 0-100. Once the number of non health hosts reaches this percentage, envoy disregards health information. see more info here.
updateMergeWindow .google.protobuf.Duration This allows batch updates of endpoints health/weight/metadata that happen during a time window. this help lower cpu usage when endpoint change rate is high. defaults to 1 second. Set to 0 to disable and have changes applied immediately.
roundRobin .gloo.solo.io.LoadBalancerConfig.RoundRobin Use round robin for load balancing. Only one of roundRobin, leastRequest, random, or maglev can be set.
leastRequest .gloo.solo.io.LoadBalancerConfig.LeastRequest Use least request for load balancing. Only one of leastRequest, roundRobin, random, or maglev can be set.
random .gloo.solo.io.LoadBalancerConfig.Random Use random for load balancing. Only one of random, roundRobin, leastRequest, or maglev can be set.
ringHash .gloo.solo.io.LoadBalancerConfig.RingHash Use ring hash for load balancing. Only one of ringHash, roundRobin, leastRequest, or maglev can be set.
maglev .gloo.solo.io.LoadBalancerConfig.Maglev Use maglev for load balancing. Only one of maglev, roundRobin, leastRequest, or ringHash can be set.
localityWeightedLbConfig .google.protobuf.Empty (Enterprise Only) https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/locality_weight#locality-weighted-load-balancing Locality weighted load balancing enables weighting assignments across different zones and geographical locations by using explicit weights. This field is required to enable locality weighted load balancing.

RoundRobin


Field Type Description

LeastRequest

"choiceCount": int

Field Type Description
choiceCount int How many choices to take into account. defaults to 2.

Random


Field Type Description

RingHashConfig

Customizes the parameters used in the hashing algorithm to refine performance or resource usage.

"minimumRingSize": int
"maximumRingSize": int

Field Type Description
minimumRingSize int Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each provided host) the better the request distribution will reflect the desired weights. Defaults to 1024 entries, and limited to 8M entries.
maximumRingSize int Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered to further constrain resource use.

RingHash

"ringHashConfig": .gloo.solo.io.LoadBalancerConfig.RingHashConfig

Field Type Description
ringHashConfig .gloo.solo.io.LoadBalancerConfig.RingHashConfig Optional, customizes the parameters used in the hashing algorithm.

Maglev


Field Type Description