Documentation ¶
Index ¶
- Variables
- type ConsistentHashingLbConfig
- func (*ConsistentHashingLbConfig) Descriptor() ([]byte, []int)deprecated
- func (x *ConsistentHashingLbConfig) GetHashBalanceFactor() *wrapperspb.UInt32Value
- func (x *ConsistentHashingLbConfig) GetUseHostnameForHashing() bool
- func (*ConsistentHashingLbConfig) ProtoMessage()
- func (x *ConsistentHashingLbConfig) ProtoReflect() protoreflect.Message
- func (x *ConsistentHashingLbConfig) Reset()
- func (x *ConsistentHashingLbConfig) String() string
- type LocalityLbConfig
- func (*LocalityLbConfig) Descriptor() ([]byte, []int)deprecated
- func (m *LocalityLbConfig) GetLocalityConfigSpecifier() isLocalityLbConfig_LocalityConfigSpecifier
- func (x *LocalityLbConfig) GetLocalityWeightedLbConfig() *LocalityLbConfig_LocalityWeightedLbConfig
- func (x *LocalityLbConfig) GetZoneAwareLbConfig() *LocalityLbConfig_ZoneAwareLbConfig
- func (*LocalityLbConfig) ProtoMessage()
- func (x *LocalityLbConfig) ProtoReflect() protoreflect.Message
- func (x *LocalityLbConfig) Reset()
- func (x *LocalityLbConfig) String() string
- type LocalityLbConfig_LocalityWeightedLbConfig
- func (*LocalityLbConfig_LocalityWeightedLbConfig) Descriptor() ([]byte, []int)deprecated
- func (*LocalityLbConfig_LocalityWeightedLbConfig) ProtoMessage()
- func (x *LocalityLbConfig_LocalityWeightedLbConfig) ProtoReflect() protoreflect.Message
- func (x *LocalityLbConfig_LocalityWeightedLbConfig) Reset()
- func (x *LocalityLbConfig_LocalityWeightedLbConfig) String() string
- type LocalityLbConfig_LocalityWeightedLbConfig_
- type LocalityLbConfig_ZoneAwareLbConfig
- func (*LocalityLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int)deprecated
- func (x *LocalityLbConfig_ZoneAwareLbConfig) GetFailTrafficOnPanic() bool
- func (x *LocalityLbConfig_ZoneAwareLbConfig) GetMinClusterSize() *wrapperspb.UInt64Value
- func (x *LocalityLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *v31.Percent
- func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoMessage()
- func (x *LocalityLbConfig_ZoneAwareLbConfig) ProtoReflect() protoreflect.Message
- func (x *LocalityLbConfig_ZoneAwareLbConfig) Reset()
- func (x *LocalityLbConfig_ZoneAwareLbConfig) String() string
- type LocalityLbConfig_ZoneAwareLbConfig_
- type SlowStartConfig
- func (*SlowStartConfig) Descriptor() ([]byte, []int)deprecated
- func (x *SlowStartConfig) GetAggression() *v3.RuntimeDouble
- func (x *SlowStartConfig) GetMinWeightPercent() *v31.Percent
- func (x *SlowStartConfig) GetSlowStartWindow() *durationpb.Duration
- func (*SlowStartConfig) ProtoMessage()
- func (x *SlowStartConfig) ProtoReflect() protoreflect.Message
- func (x *SlowStartConfig) Reset()
- func (x *SlowStartConfig) String() string
Constants ¶
This section is empty.
Variables ¶
var File_envoy_extensions_load_balancing_policies_common_v3_common_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ConsistentHashingLbConfig ¶
type ConsistentHashingLbConfig struct { // If set to “true“, the cluster will use hostname instead of the resolved // address as the key to consistently hash to an upstream host. Only valid for StrictDNS clusters with hostnames which resolve to a single IP address. UseHostnameForHashing bool `` /* 129-byte string literal not displayed */ // Configures percentage of average cluster load to bound per upstream host. For example, with a value of 150 // no upstream host will get a load more than 1.5 times the average load of all the hosts in the cluster. // If not specified, the load is not bounded for any upstream host. Typical value for this parameter is between 120 and 200. // Minimum is 100. // // Applies to both Ring Hash and Maglev load balancers. // // This is implemented based on the method described in the paper https://arxiv.org/abs/1608.01350. For the specified // “hash_balance_factor“, requests to any upstream host are capped at “hash_balance_factor/100“ times the average number of requests // across the cluster. When a request arrives for an upstream host that is currently serving at its max capacity, linear probing // is used to identify an eligible host. Further, the linear probe is implemented using a random jump in hosts ring/table to identify // the eligible host (this technique is as described in the paper https://arxiv.org/abs/1908.08762 - the random jump avoids the // cascading overflow effect when choosing the next host in the ring/table). // // If weights are specified on the hosts, they are respected. // // This is an O(N) algorithm, unlike other load balancers. Using a lower “hash_balance_factor“ results in more hosts // being probed, so use a higher value if you require better performance. HashBalanceFactor *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=hash_balance_factor,json=hashBalanceFactor,proto3" json:"hash_balance_factor,omitempty"` // contains filtered or unexported fields }
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
func (*ConsistentHashingLbConfig) Descriptor
deprecated
func (*ConsistentHashingLbConfig) Descriptor() ([]byte, []int)
Deprecated: Use ConsistentHashingLbConfig.ProtoReflect.Descriptor instead.
func (*ConsistentHashingLbConfig) GetHashBalanceFactor ¶
func (x *ConsistentHashingLbConfig) GetHashBalanceFactor() *wrapperspb.UInt32Value
func (*ConsistentHashingLbConfig) GetUseHostnameForHashing ¶
func (x *ConsistentHashingLbConfig) GetUseHostnameForHashing() bool
func (*ConsistentHashingLbConfig) ProtoMessage ¶
func (*ConsistentHashingLbConfig) ProtoMessage()
func (*ConsistentHashingLbConfig) ProtoReflect ¶
func (x *ConsistentHashingLbConfig) ProtoReflect() protoreflect.Message
func (*ConsistentHashingLbConfig) Reset ¶
func (x *ConsistentHashingLbConfig) Reset()
func (*ConsistentHashingLbConfig) String ¶
func (x *ConsistentHashingLbConfig) String() string
type LocalityLbConfig ¶
type LocalityLbConfig struct { // Types that are assignable to LocalityConfigSpecifier: // // *LocalityLbConfig_ZoneAwareLbConfig_ // *LocalityLbConfig_LocalityWeightedLbConfig_ LocalityConfigSpecifier isLocalityLbConfig_LocalityConfigSpecifier `protobuf_oneof:"locality_config_specifier"` // contains filtered or unexported fields }
func (*LocalityLbConfig) Descriptor
deprecated
func (*LocalityLbConfig) Descriptor() ([]byte, []int)
Deprecated: Use LocalityLbConfig.ProtoReflect.Descriptor instead.
func (*LocalityLbConfig) GetLocalityConfigSpecifier ¶
func (m *LocalityLbConfig) GetLocalityConfigSpecifier() isLocalityLbConfig_LocalityConfigSpecifier
func (*LocalityLbConfig) GetLocalityWeightedLbConfig ¶
func (x *LocalityLbConfig) GetLocalityWeightedLbConfig() *LocalityLbConfig_LocalityWeightedLbConfig
func (*LocalityLbConfig) GetZoneAwareLbConfig ¶
func (x *LocalityLbConfig) GetZoneAwareLbConfig() *LocalityLbConfig_ZoneAwareLbConfig
func (*LocalityLbConfig) ProtoMessage ¶
func (*LocalityLbConfig) ProtoMessage()
func (*LocalityLbConfig) ProtoReflect ¶
func (x *LocalityLbConfig) ProtoReflect() protoreflect.Message
func (*LocalityLbConfig) Reset ¶
func (x *LocalityLbConfig) Reset()
func (*LocalityLbConfig) String ¶
func (x *LocalityLbConfig) String() string
type LocalityLbConfig_LocalityWeightedLbConfig ¶
type LocalityLbConfig_LocalityWeightedLbConfig struct {
// contains filtered or unexported fields
}
Configuration for :ref:`locality weighted load balancing <arch_overview_load_balancing_locality_weighted_lb>`
func (*LocalityLbConfig_LocalityWeightedLbConfig) Descriptor
deprecated
func (*LocalityLbConfig_LocalityWeightedLbConfig) Descriptor() ([]byte, []int)
Deprecated: Use LocalityLbConfig_LocalityWeightedLbConfig.ProtoReflect.Descriptor instead.
func (*LocalityLbConfig_LocalityWeightedLbConfig) ProtoMessage ¶
func (*LocalityLbConfig_LocalityWeightedLbConfig) ProtoMessage()
func (*LocalityLbConfig_LocalityWeightedLbConfig) ProtoReflect ¶
func (x *LocalityLbConfig_LocalityWeightedLbConfig) ProtoReflect() protoreflect.Message
func (*LocalityLbConfig_LocalityWeightedLbConfig) Reset ¶
func (x *LocalityLbConfig_LocalityWeightedLbConfig) Reset()
func (*LocalityLbConfig_LocalityWeightedLbConfig) String ¶
func (x *LocalityLbConfig_LocalityWeightedLbConfig) String() string
type LocalityLbConfig_LocalityWeightedLbConfig_ ¶
type LocalityLbConfig_LocalityWeightedLbConfig_ struct { // Enable locality weighted load balancing. LocalityWeightedLbConfig *LocalityLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,2,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3,oneof"` }
type LocalityLbConfig_ZoneAwareLbConfig ¶
type LocalityLbConfig_ZoneAwareLbConfig struct { // Configures percentage of requests that will be considered for zone aware routing // if zone aware routing is configured. If not specified, the default is 100%. // * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`. // * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`. RoutingEnabled *v31.Percent `protobuf:"bytes,1,opt,name=routing_enabled,json=routingEnabled,proto3" json:"routing_enabled,omitempty"` // Configures minimum upstream cluster size required for zone aware routing // If upstream cluster size is less than specified, zone aware routing is not performed // even if zone aware routing is configured. If not specified, the default is 6. // * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`. // * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`. MinClusterSize *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=min_cluster_size,json=minClusterSize,proto3" json:"min_cluster_size,omitempty"` // If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic // mode<arch_overview_load_balancing_panic_threshold>`. Instead, the cluster will fail all // requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a // failing service. FailTrafficOnPanic bool `protobuf:"varint,3,opt,name=fail_traffic_on_panic,json=failTrafficOnPanic,proto3" json:"fail_traffic_on_panic,omitempty"` // contains filtered or unexported fields }
Configuration for :ref:`zone aware routing <arch_overview_load_balancing_zone_aware_routing>`.
func (*LocalityLbConfig_ZoneAwareLbConfig) Descriptor
deprecated
func (*LocalityLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int)
Deprecated: Use LocalityLbConfig_ZoneAwareLbConfig.ProtoReflect.Descriptor instead.
func (*LocalityLbConfig_ZoneAwareLbConfig) GetFailTrafficOnPanic ¶
func (x *LocalityLbConfig_ZoneAwareLbConfig) GetFailTrafficOnPanic() bool
func (*LocalityLbConfig_ZoneAwareLbConfig) GetMinClusterSize ¶
func (x *LocalityLbConfig_ZoneAwareLbConfig) GetMinClusterSize() *wrapperspb.UInt64Value
func (*LocalityLbConfig_ZoneAwareLbConfig) GetRoutingEnabled ¶
func (x *LocalityLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *v31.Percent
func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoMessage ¶
func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoMessage()
func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoReflect ¶
func (x *LocalityLbConfig_ZoneAwareLbConfig) ProtoReflect() protoreflect.Message
func (*LocalityLbConfig_ZoneAwareLbConfig) Reset ¶
func (x *LocalityLbConfig_ZoneAwareLbConfig) Reset()
func (*LocalityLbConfig_ZoneAwareLbConfig) String ¶
func (x *LocalityLbConfig_ZoneAwareLbConfig) String() string
type LocalityLbConfig_ZoneAwareLbConfig_ ¶
type LocalityLbConfig_ZoneAwareLbConfig_ struct { // Configuration for local zone aware load balancing. ZoneAwareLbConfig *LocalityLbConfig_ZoneAwareLbConfig `protobuf:"bytes,1,opt,name=zone_aware_lb_config,json=zoneAwareLbConfig,proto3,oneof"` }
type SlowStartConfig ¶
type SlowStartConfig struct { // Represents the size of slow start window. // If set, the newly created host remains in slow start mode starting from its creation time // for the duration of slow start window. SlowStartWindow *durationpb.Duration `protobuf:"bytes,1,opt,name=slow_start_window,json=slowStartWindow,proto3" json:"slow_start_window,omitempty"` // This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0, // so that endpoint would get linearly increasing amount of traffic. // When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly. // The value of aggression parameter should be greater than 0.0. // By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve. // // During slow start window, effective weight of an endpoint would be scaled with time factor and aggression: // “new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))“, // where “time_factor=(time_since_start_seconds / slow_start_time_seconds)“. // // As time progresses, more and more traffic would be sent to endpoint, which is in slow start window. // Once host exits slow start, time_factor and aggression no longer affect its weight. Aggression *v3.RuntimeDouble `protobuf:"bytes,2,opt,name=aggression,proto3" json:"aggression,omitempty"` // Configures the minimum percentage of origin weight that avoids too small new weight, // which may cause endpoints in slow start mode receive no traffic in slow start window. // If not specified, the default is 10%. MinWeightPercent *v31.Percent `protobuf:"bytes,3,opt,name=min_weight_percent,json=minWeightPercent,proto3" json:"min_weight_percent,omitempty"` // contains filtered or unexported fields }
Configuration for :ref:`slow start mode <arch_overview_load_balancing_slow_start>`.
func (*SlowStartConfig) Descriptor
deprecated
func (*SlowStartConfig) Descriptor() ([]byte, []int)
Deprecated: Use SlowStartConfig.ProtoReflect.Descriptor instead.
func (*SlowStartConfig) GetAggression ¶
func (x *SlowStartConfig) GetAggression() *v3.RuntimeDouble
func (*SlowStartConfig) GetMinWeightPercent ¶
func (x *SlowStartConfig) GetMinWeightPercent() *v31.Percent
func (*SlowStartConfig) GetSlowStartWindow ¶
func (x *SlowStartConfig) GetSlowStartWindow() *durationpb.Duration
func (*SlowStartConfig) ProtoMessage ¶
func (*SlowStartConfig) ProtoMessage()
func (*SlowStartConfig) ProtoReflect ¶
func (x *SlowStartConfig) ProtoReflect() protoreflect.Message
func (*SlowStartConfig) Reset ¶
func (x *SlowStartConfig) Reset()
func (*SlowStartConfig) String ¶
func (x *SlowStartConfig) String() string