least_requestv3

package
v0.10.5 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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.
	ChoiceCount *wrappers.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.Cluster_SlowStartConfig `protobuf:"bytes,3,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"`
	// 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. [#extension: envoy.clusters.lb_policy]

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() *wrappers.UInt32Value

func (*LeastRequest) GetSlowStartConfig

func (x *LeastRequest) GetSlowStartConfig() *v31.Cluster_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

func (*LeastRequest) Validate

func (m *LeastRequest) Validate() error

Validate checks the field values on LeastRequest with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*LeastRequest) ValidateAll

func (m *LeastRequest) ValidateAll() error

ValidateAll checks the field values on LeastRequest with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in LeastRequestMultiError, or nil if none found.

type LeastRequestMultiError

type LeastRequestMultiError []error

LeastRequestMultiError is an error wrapping multiple validation errors returned by LeastRequest.ValidateAll() if the designated constraints aren't met.

func (LeastRequestMultiError) AllErrors

func (m LeastRequestMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (LeastRequestMultiError) Error

func (m LeastRequestMultiError) Error() string

Error returns a concatenation of all the error messages it wraps.

type LeastRequestValidationError

type LeastRequestValidationError struct {
	// contains filtered or unexported fields
}

LeastRequestValidationError is the validation error returned by LeastRequest.Validate if the designated constraints aren't met.

func (LeastRequestValidationError) Cause

Cause function returns cause value.

func (LeastRequestValidationError) Error

Error satisfies the builtin error interface

func (LeastRequestValidationError) ErrorName

func (e LeastRequestValidationError) ErrorName() string

ErrorName returns error name.

func (LeastRequestValidationError) Field

Field function returns field value.

func (LeastRequestValidationError) Key

Key function returns key value.

func (LeastRequestValidationError) Reason

Reason function returns reason value.

Jump to

Keyboard shortcuts

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