commonv3

package
v1.33.0-20240416201307... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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 (*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) ProtoReflect

func (*LocalityLbConfig_LocalityWeightedLbConfig) Reset

func (*LocalityLbConfig_LocalityWeightedLbConfig) 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 (*LocalityLbConfig_ZoneAwareLbConfig) GetRoutingEnabled

func (x *LocalityLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *v31.Percent

func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoMessage

func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoMessage()

func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoReflect

func (*LocalityLbConfig_ZoneAwareLbConfig) Reset

func (*LocalityLbConfig_ZoneAwareLbConfig) 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL