最少請求負載平衡策略 (proto)

此擴展的完整名稱為 envoy.load_balancing_policies.least_request

注意

此擴展的安全性狀態未知,僅應在下游和上游都受信任的部署中使用。

提示

此擴展擴展了以下擴展類別,並可與之一起使用

此擴展必須使用以下類型 URL 之一進行配置

extensions.load_balancing_policies.least_request.v3.LeastRequest

[extensions.load_balancing_policies.least_request.v3.LeastRequest proto]

此配置允許透過 LB 策略擴展點配置內建的 LEAST_REQUEST LB 策略。有關更多資訊,請參閱負載平衡架構概述

{
  "choice_count": {...},
  "active_request_bias": {...},
  "slow_start_config": {...},
  "locality_lb_config": {...},
  "selection_method": ...
}
choice_count

(UInt32Value) 將從中選擇活動請求最少的主機的隨機健全主機數量。預設值為 2,因此如果未設定該欄位,則執行雙重選擇。僅適用於 N_CHOICES 選擇方法。

active_request_bias

(config.core.v3.RuntimeDouble) 當主機具有不同的負載平衡權重時,使用以下公式計算動態權重

weight = load_balancing_weight / (active_requests + 1)^active_request_bias

活動請求偏差越大,當所有主機權重不相等時,活動請求將越積極地降低有效權重。

active_request_bias 必須大於或等於 0.0。

active_request_bias == 0.0 時,最少請求負載平衡器在選擇主機時不會考慮活動請求的數量,其行為類似於循環配置負載平衡器。

active_request_bias > 0.0 時,最少請求負載平衡器會在執行選擇時依活動請求數量縮放負載平衡權重。

該值會快取以提高效能,並且會在負載平衡器的主機集變更時重新整理,例如,每當有主機成員資格更新或主機負載平衡權重變更時。

注意

僅當所有主機權重不相等時,此設定才會生效。

slow_start_config

(extensions.load_balancing_policies.common.v3.SlowStartConfig) 慢速啟動模式的組態。如果未設定此組態,則不會啟用慢速啟動。

locality_lb_config

(extensions.load_balancing_policies.common.v3.LocalityLbConfig) 用於本機區域感知負載平衡或區域加權負載平衡的組態。

selection_method

(extensions.load_balancing_policies.least_request.v3.LeastRequest.SelectionMethod) 用於選擇主機集的選擇方法,從該主機集中返回活動請求最少的主機。

預設值為 N_CHOICES

列舉 extensions.load_balancing_policies.least_request.v3.LeastRequest.SelectionMethod

[extensions.load_balancing_policies.least_request.v3.LeastRequest.SelectionMethod proto]

可用於選擇主機集的方法,從該主機集中返回活動請求最少的主機。

N_CHOICES

(預設值) 從一組隨機選擇的 choice_count 個主機中返回請求最少的主機。適用於大多數場景的最佳選擇方法。

FULL_SCAN

從所有主機中返回請求最少的主機。在某些涉及低請求率和以下情況之一的特殊使用案例中很有用:(範例 1)工作負載的低請求限制,或(範例 2)少數主機。

範例 1:考慮一種一次只能接受一個連線的工作負載類型。如果此類工作負載部署在許多主機上,則在任何給定時間只有一小部分工作負載具有零連線,並且新連線的速率較低,則 FULL_SCAN 方法比 N_CHOICES 更可能選擇合適的主機。

範例 2:考慮一種僅部署在 2 個主機上的工作負載類型。使用預設設定,N_CHOICES 方法將在 25% 的時間內返回具有更多活動請求的主機。如果請求速率足夠低,則始終選擇上次指標重新整理時請求最少的主機的行為可能更為可取。