least_requestv3

package
v1.33.0-20240426201503... 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 (
	LeastRequest_SelectionMethod_name = map[int32]string{
		0: "N_CHOICES",
		1: "FULL_SCAN",
	}
	LeastRequest_SelectionMethod_value = map[string]int32{
		"N_CHOICES": 0,
		"FULL_SCAN": 1,
	}
)

Enum value maps for LeastRequest_SelectionMethod.

View Source
var File_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type LeastRequest

type LeastRequest struct {

	// The number of random healthy hosts from which the host with the fewest active requests will
	// be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
	// Only applies to the “N_CHOICES“ selection method.
	ChoiceCount *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"`
	// The following formula is used to calculate the dynamic weights when hosts have different load
	// balancing weights:
	//
	// “weight = load_balancing_weight / (active_requests + 1)^active_request_bias“
	//
	// The larger the active request bias is, the more aggressively active requests will lower the
	// effective weight when all host weights are not equal.
	//
	// “active_request_bias“ must be greater than or equal to 0.0.
	//
	// When “active_request_bias == 0.0“ the Least Request Load Balancer doesn't consider the number
	// of active requests at the time it picks a host and behaves like the Round Robin Load
	// Balancer.
	//
	// When “active_request_bias > 0.0“ the Least Request Load Balancer scales the load balancing
	// weight by the number of active requests at the time it does a pick.
	//
	// The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
	// host sets changes, e.g., whenever there is a host membership update or a host load balancing
	// weight change.
	//
	// .. note::
	//
	//	This setting only takes effect if all host weights are not equal.
	ActiveRequestBias *v3.RuntimeDouble `protobuf:"bytes,2,opt,name=active_request_bias,json=activeRequestBias,proto3" json:"active_request_bias,omitempty"`
	// Configuration for slow start mode.
	// If this configuration is not set, slow start will not be not enabled.
	SlowStartConfig *v31.SlowStartConfig `protobuf:"bytes,3,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"`
	// Configuration for local zone aware load balancing or locality weighted load balancing.
	LocalityLbConfig *v31.LocalityLbConfig `protobuf:"bytes,4,opt,name=locality_lb_config,json=localityLbConfig,proto3" json:"locality_lb_config,omitempty"`
	// [#not-implemented-hide:]
	// Unused. Replaced by the `selection_method` enum for better extensibility.
	//
	// Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto.
	EnableFullScan *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=enable_full_scan,json=enableFullScan,proto3" json:"enable_full_scan,omitempty"`
	// Method for selecting the host set from which to return the host with the fewest active requests.
	//
	// Defaults to “N_CHOICES“.
	SelectionMethod LeastRequest_SelectionMethod `` /* 199-byte string literal not displayed */
	// contains filtered or unexported fields
}

This configuration allows the built-in LEAST_REQUEST LB policy to be configured via the LB policy extension point. See the :ref:`load balancing architecture overview <arch_overview_load_balancing_types>` for more information. [#next-free-field: 7]

func (*LeastRequest) Descriptor deprecated

func (*LeastRequest) Descriptor() ([]byte, []int)

Deprecated: Use LeastRequest.ProtoReflect.Descriptor instead.

func (*LeastRequest) GetActiveRequestBias

func (x *LeastRequest) GetActiveRequestBias() *v3.RuntimeDouble

func (*LeastRequest) GetChoiceCount

func (x *LeastRequest) GetChoiceCount() *wrapperspb.UInt32Value

func (*LeastRequest) GetEnableFullScan deprecated

func (x *LeastRequest) GetEnableFullScan() *wrapperspb.BoolValue

Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto.

func (*LeastRequest) GetLocalityLbConfig

func (x *LeastRequest) GetLocalityLbConfig() *v31.LocalityLbConfig

func (*LeastRequest) GetSelectionMethod

func (x *LeastRequest) GetSelectionMethod() LeastRequest_SelectionMethod

func (*LeastRequest) GetSlowStartConfig

func (x *LeastRequest) GetSlowStartConfig() *v31.SlowStartConfig

func (*LeastRequest) ProtoMessage

func (*LeastRequest) ProtoMessage()

func (*LeastRequest) ProtoReflect

func (x *LeastRequest) ProtoReflect() protoreflect.Message

func (*LeastRequest) Reset

func (x *LeastRequest) Reset()

func (*LeastRequest) String

func (x *LeastRequest) String() string

type LeastRequest_SelectionMethod

type LeastRequest_SelectionMethod int32

Available methods for selecting the host set from which to return the host with the fewest active requests.

const (
	// Return host with fewest requests from a set of “choice_count“ randomly selected hosts.
	// Best selection method for most scenarios.
	LeastRequest_N_CHOICES LeastRequest_SelectionMethod = 0
	// Return host with fewest requests from all hosts.
	// Useful in some niche use cases involving low request rates and one of:
	// (example 1) low request limits on workloads, or (example 2) few hosts.
	//
	// Example 1: Consider a workload type that can only accept one connection at a time.
	// If such workloads are deployed across many hosts, only a small percentage of those
	// workloads have zero connections at any given time, and the rate of new connections is low,
	// the “FULL_SCAN“ method is more likely to select a suitable host than “N_CHOICES“.
	//
	// Example 2: Consider a workload type that is only deployed on 2 hosts. With default settings,
	// the “N_CHOICES“ method will return the host with more active requests 25% of the time.
	// If the request rate is sufficiently low, the behavior of always selecting the host with least
	// requests as of the last metrics refresh may be preferable.
	LeastRequest_FULL_SCAN LeastRequest_SelectionMethod = 1
)

func (LeastRequest_SelectionMethod) Descriptor

func (LeastRequest_SelectionMethod) Enum

func (LeastRequest_SelectionMethod) EnumDescriptor deprecated

func (LeastRequest_SelectionMethod) EnumDescriptor() ([]byte, []int)

Deprecated: Use LeastRequest_SelectionMethod.Descriptor instead.

func (LeastRequest_SelectionMethod) Number

func (LeastRequest_SelectionMethod) String

func (LeastRequest_SelectionMethod) Type

Jump to

Keyboard shortcuts

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