.. _envoy_v3_api_file_envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto: Least Request Load Balancing Policy (proto) =========================================== .. _extension_envoy.load_balancing_policies.least_request: This extension has the qualified name ``envoy.load_balancing_policies.least_request`` .. note:: This extension has an unknown security posture and should only be used in deployments where both the downstream and upstream are trusted. .. tip:: This extension extends and can be used with the following extension category: - :ref:`envoy.load_balancing_policies ` This extension must be configured with one of the following type URLs: - :ref:`type.googleapis.com/envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest ` .. _envoy_v3_api_msg_extensions.load_balancing_policies.least_request.v3.LeastRequest: extensions.load_balancing_policies.least_request.v3.LeastRequest ---------------------------------------------------------------- :repo:`[extensions.load_balancing_policies.least_request.v3.LeastRequest proto] ` 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 ` for more information. .. code-block:: json :force: { "choice_count": {...}, "active_request_bias": {...}, "slow_start_config": {...}, "locality_lb_config": {...} } .. _envoy_v3_api_field_extensions.load_balancing_policies.least_request.v3.LeastRequest.choice_count: choice_count (`UInt32Value `_) 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. .. _envoy_v3_api_field_extensions.load_balancing_policies.least_request.v3.LeastRequest.active_request_bias: active_request_bias (:ref:`config.core.v3.RuntimeDouble `) 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. .. _envoy_v3_api_field_extensions.load_balancing_policies.least_request.v3.LeastRequest.slow_start_config: slow_start_config (:ref:`extensions.load_balancing_policies.common.v3.SlowStartConfig `) Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled. .. _envoy_v3_api_field_extensions.load_balancing_policies.least_request.v3.LeastRequest.locality_lb_config: locality_lb_config (:ref:`extensions.load_balancing_policies.common.v3.LocalityLbConfig `) Configuration for local zone aware load balancing or locality weighted load balancing.