斷路器 (proto)
config.cluster.v3.CircuitBreakers
[config.cluster.v3.CircuitBreakers proto]
可以為每個定義的優先順序單獨指定斷路設定。
{
"thresholds": [],
"per_host_thresholds": []
}
- thresholds
(重複 config.cluster.v3.CircuitBreakers.Thresholds) 如果定義了多個具有相同 RoutingPriority 的 Thresholds,則使用清單中的第一個。如果沒有為給定的 RoutingPriority 定義 Thresholds,則使用預設值。
- per_host_thresholds
(重複 config.cluster.v3.CircuitBreakers.Thresholds) 可選的每個主機限制,適用於叢集中的每個個別主機。
注意
目前僅支援每個主機限制的 max_connections 欄位。
如果定義了多個具有相同 RoutingPriority 的每個主機 Thresholds,則使用清單中的第一個。如果沒有為給定的 RoutingPriority 定義每個主機 Thresholds,則該叢集將沒有每個主機的限制。
config.cluster.v3.CircuitBreakers.Thresholds
[config.cluster.v3.CircuitBreakers.Thresholds proto]
Thresholds 為 RoutingPriority 定義 CircuitBreaker 設定。
{
"priority": ...,
"max_connections": {...},
"max_pending_requests": {...},
"max_requests": {...},
"max_retries": {...},
"retry_budget": {...},
"track_remaining": ...,
"max_connection_pools": {...}
}
- priority
(config.core.v3.RoutingPriority) 指定的 CircuitBreaker 設定所適用的 RoutingPriority。
- max_connections
(UInt32Value) Envoy 將連線到上游叢集的最大連線數。如果未指定,則預設值為 1024。
- max_pending_requests
(UInt32Value) Envoy 將允許傳送到上游叢集的最大待處理請求數。如果未指定,則預設值為 1024。此限制適用於非 HTTP 流量的連線限制。
- max_requests
(UInt32Value) Envoy 將傳送到上游叢集的最大並行請求數。如果未指定,則預設值為 1024。此限制不適用於非 HTTP 流量。
- max_retries
(UInt32Value) Envoy 將允許傳送到上游叢集的最大並行重試次數。如果未指定,則預設值為 3。
- retry_budget
(config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget) 指定與作用中請求數量相關的並行重試限制。此參數為可選。
注意
如果設定此欄位,重試預算將覆蓋任何已設定的重試斷路器。
- track_remaining
(bool) 如果 track_remaining 為 true,則將發布統計資訊,以顯示在斷路器開啟之前剩餘的資源數量。如果未指定,則預設值為 false。
注意
如果使用重試預算來代替 max_retries 斷路器,則不會追蹤剩餘的重試資源。
- max_connection_pools
(UInt32Value) Envoy 將同時支援的每個叢集最大連線池數量。如果未指定,則預設為無限制。為建立大量連線池的叢集設定此選項。有關更多詳細資訊,請參閱斷路。
config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget
[config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget proto]
{
"budget_percent": {...},
"min_retry_concurrency": {...}
}
- budget_percent
(type.v3.Percent) 指定並行重試的限制,以作用中請求和作用中待處理請求的總和的百分比表示。例如,如果存在 100 個作用中請求且 budget_percent 設定為 25,則可能存在 25 個作用中重試。
此參數為可選。預設值為 20%。
- min_retry_concurrency
(UInt32Value) 指定重試預算允許的最小重試並行數。作用中重試次數的限制永遠不能低於此數。
此參數為可選。預設值為 3。