ConcurrencyLimitingPolicy是服務網格ASM流量調度套件提供的一種預置策略,可以用聲明式的方式對網格內服務的全域流量配置並發數限制。本文介紹ConcurrencyLimitingPolicy的CRD說明。
ConcurrencyLimitingPolicySpec
ConcurrencyLimitingPolicySpec是ConcurrencyLimitingPolicy的核心配置,即spec部分。
欄位 | 類型 | 是否必選 | 說明 |
concurrency_limiter | 是 | 指定執行並發數限制的限制器配置。 |
ConcurrencyLimiter
ConcurrencyLimiter指定並發數限制器的各項參數。
欄位 | 類型 | 是否必選 | 說明 |
max_concurrency | int64 | 是 | 請求並發數上限。 |
parameters | 是 | 並發數限制器執行策略相關配置。 | |
request_parameters | 否 | 並發數限制器的請求操作配置,與RateLimitingPolicy限流器的請求操作配置一致。 | |
selectors | []Selector | 是 | 基於選取器來選擇並發數限制生效的具體請求流。 |
ConcurrencyLimiterParameters
欄位 | 類型 | 是否必選 | 說明 |
limit_by_label_key | string | 否 | 指定並發數限制策略使用什麼請求標籤進行分組。制定後,不同標籤的請求將擁有各自的並發數限制。關於如何指定請求標籤,請參見請求標籤說明。 |
max_idle_time | Duration | 否 | 當配置 |
max_inflight_duration | Duration | 是 | 請求處理逾時時間。由於叢集中可能發生Pod重啟等突發情況,導致ASM流量調度套件可能無法記錄到請求結束事件,為防止此類請求影響並發數限制演算法的判斷,需要指定請求處理逾時時間,超過此時間還未響應的請求將視作處理結束。您可以通過評估請求的期望最大回應時間來設定此值。 |