Documentation
¶
Index ¶
- Variables
- type LeastRequest
- func (x *LeastRequest) ClearActiveRequestBias()
- func (x *LeastRequest) ClearChoiceCount()
- func (x *LeastRequest) ClearEnableFullScan()deprecated
- func (x *LeastRequest) ClearLocalityLbConfig()
- func (x *LeastRequest) ClearSlowStartConfig()
- func (x *LeastRequest) GetActiveRequestBias() *v3.RuntimeDouble
- func (x *LeastRequest) GetChoiceCount() *wrapperspb.UInt32Value
- func (x *LeastRequest) GetEnableFullScan() *wrapperspb.BoolValuedeprecated
- func (x *LeastRequest) GetLocalityLbConfig() *v31.LocalityLbConfig
- func (x *LeastRequest) GetSelectionMethod() LeastRequest_SelectionMethod
- func (x *LeastRequest) GetSlowStartConfig() *v31.SlowStartConfig
- func (x *LeastRequest) HasActiveRequestBias() bool
- func (x *LeastRequest) HasChoiceCount() bool
- func (x *LeastRequest) HasEnableFullScan() booldeprecated
- func (x *LeastRequest) HasLocalityLbConfig() bool
- func (x *LeastRequest) HasSlowStartConfig() bool
- func (*LeastRequest) ProtoMessage()
- func (x *LeastRequest) ProtoReflect() protoreflect.Message
- func (x *LeastRequest) Reset()
- func (x *LeastRequest) SetActiveRequestBias(v *v3.RuntimeDouble)
- func (x *LeastRequest) SetChoiceCount(v *wrapperspb.UInt32Value)
- func (x *LeastRequest) SetEnableFullScan(v *wrapperspb.BoolValue)deprecated
- func (x *LeastRequest) SetLocalityLbConfig(v *v31.LocalityLbConfig)
- func (x *LeastRequest) SetSelectionMethod(v LeastRequest_SelectionMethod)
- func (x *LeastRequest) SetSlowStartConfig(v *v31.SlowStartConfig)
- func (x *LeastRequest) String() string
- type LeastRequest_SelectionMethod
- func (LeastRequest_SelectionMethod) Descriptor() protoreflect.EnumDescriptor
- func (x LeastRequest_SelectionMethod) Enum() *LeastRequest_SelectionMethod
- func (x LeastRequest_SelectionMethod) Number() protoreflect.EnumNumber
- func (x LeastRequest_SelectionMethod) String() string
- func (LeastRequest_SelectionMethod) Type() protoreflect.EnumType
- type LeastRequest_builder
Constants ¶
This section is empty.
Variables ¶
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.
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) ClearActiveRequestBias ¶
func (x *LeastRequest) ClearActiveRequestBias()
func (*LeastRequest) ClearChoiceCount ¶
func (x *LeastRequest) ClearChoiceCount()
func (*LeastRequest) ClearEnableFullScan
deprecated
func (x *LeastRequest) ClearEnableFullScan()
Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto.
func (*LeastRequest) ClearLocalityLbConfig ¶
func (x *LeastRequest) ClearLocalityLbConfig()
func (*LeastRequest) ClearSlowStartConfig ¶
func (x *LeastRequest) ClearSlowStartConfig()
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) HasActiveRequestBias ¶
func (x *LeastRequest) HasActiveRequestBias() bool
func (*LeastRequest) HasChoiceCount ¶
func (x *LeastRequest) HasChoiceCount() bool
func (*LeastRequest) HasEnableFullScan
deprecated
func (x *LeastRequest) HasEnableFullScan() bool
Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto.
func (*LeastRequest) HasLocalityLbConfig ¶
func (x *LeastRequest) HasLocalityLbConfig() bool
func (*LeastRequest) HasSlowStartConfig ¶
func (x *LeastRequest) HasSlowStartConfig() bool
func (*LeastRequest) ProtoMessage ¶
func (*LeastRequest) ProtoMessage()
func (*LeastRequest) ProtoReflect ¶
func (x *LeastRequest) ProtoReflect() protoreflect.Message
func (*LeastRequest) Reset ¶
func (x *LeastRequest) Reset()
func (*LeastRequest) SetActiveRequestBias ¶
func (x *LeastRequest) SetActiveRequestBias(v *v3.RuntimeDouble)
func (*LeastRequest) SetChoiceCount ¶
func (x *LeastRequest) SetChoiceCount(v *wrapperspb.UInt32Value)
func (*LeastRequest) SetEnableFullScan
deprecated
func (x *LeastRequest) SetEnableFullScan(v *wrapperspb.BoolValue)
Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto.
func (*LeastRequest) SetLocalityLbConfig ¶
func (x *LeastRequest) SetLocalityLbConfig(v *v31.LocalityLbConfig)
func (*LeastRequest) SetSelectionMethod ¶
func (x *LeastRequest) SetSelectionMethod(v LeastRequest_SelectionMethod)
func (*LeastRequest) SetSlowStartConfig ¶
func (x *LeastRequest) SetSlowStartConfig(v *v31.SlowStartConfig)
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) Descriptor() protoreflect.EnumDescriptor
func (LeastRequest_SelectionMethod) Enum ¶
func (x LeastRequest_SelectionMethod) Enum() *LeastRequest_SelectionMethod
func (LeastRequest_SelectionMethod) Number ¶
func (x LeastRequest_SelectionMethod) Number() protoreflect.EnumNumber
func (LeastRequest_SelectionMethod) String ¶
func (x LeastRequest_SelectionMethod) String() string
func (LeastRequest_SelectionMethod) Type ¶
func (LeastRequest_SelectionMethod) Type() protoreflect.EnumType
type LeastRequest_builder ¶
type LeastRequest_builder 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
// 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
// Configuration for slow start mode.
// If this configuration is not set, slow start will not be not enabled.
SlowStartConfig *v31.SlowStartConfig
// Configuration for local zone aware load balancing or locality weighted load balancing.
LocalityLbConfig *v31.LocalityLbConfig
// [#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
// Method for selecting the host set from which to return the host with the fewest active requests.
//
// Defaults to “N_CHOICES“.
SelectionMethod LeastRequest_SelectionMethod
// contains filtered or unexported fields
}
func (LeastRequest_builder) Build ¶
func (b0 LeastRequest_builder) Build() *LeastRequest
Source Files
¶
- least_request.pb.go