動態轉發代理通用配置 (proto)
extensions.common.dynamic_forward_proxy.v3.DnsCacheCircuitBreakers
[extensions.common.dynamic_forward_proxy.v3.DnsCacheCircuitBreakers proto]
解析器斷路器的配置。
{
"max_pending_requests": {...}
}
- max_pending_requests
(UInt32Value) Envoy 將允許傳送到解析器的最大待處理請求數。如果未指定,則預設值為 1024。
extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig
[extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig proto]
動態轉發代理 DNS 快取的配置。有關更多資訊,請參閱架構概述。
{
"name": ...,
"dns_lookup_family": ...,
"dns_refresh_rate": {...},
"dns_min_refresh_rate": {...},
"host_ttl": {...},
"max_hosts": {...},
"dns_failure_refresh_rate": {...},
"dns_cache_circuit_breaker": {...},
"use_tcp_for_dns_lookups": ...,
"dns_resolution_config": {...},
"typed_dns_resolver_config": {...},
"preresolve_hostnames": [],
"dns_query_timeout": {...},
"key_value_config": {...}
}
- name
(string, 必要) 快取的名稱。多個具名快取允許獨立的動態轉發代理配置使用不同的配置在單個 Envoy 程序中運作。當從不同的配置組件引用時,具有相同名稱的所有配置必須具有相同的設定。如果不是這種情況,配置將無法載入。
- dns_lookup_family
(config.cluster.v3.Cluster.DnsLookupFamily) 在解析期間使用的 DNS 查找系列。
- dns_refresh_rate
(Duration) 未解析 DNS 主機的 DNS 重新整理率。如果未指定,則預設為 60 秒。
重新整理率會四捨五入到最接近的毫秒,且必須至少為 1 毫秒。
一旦解析了主機,重新整理率將為 DNS TTL,上限為
dns_min_refresh_rate
的最小值。
- dns_min_refresh_rate
(Duration) DNS 解析將發生的最小速率。根據
dns_refresh_rate
,一旦解析主機,將使用 DNS TTL,最小值由dns_min_refresh_rate
設定。dns_min_refresh_rate
預設為 5 秒,且也必須 >= 1 秒。
- host_ttl
(Duration) 未使用的主機的 TTL。在配置的時間間隔內未使用的主機將被清除。如果未指定,則預設為 5 分鐘。
- max_hosts
(UInt32Value) 快取將保留的最大主機數。如果未指定,則預設為 1024。
- dns_failure_refresh_rate
(config.cluster.v3.Cluster.RefreshRate) 如果指定了 DNS 失敗重新整理率,則當 DNS 請求失敗時,此值將用作快取的 DNS 重新整理率。如果未指定此設定,則失敗重新整理率預設為 dns_refresh_rate。
- dns_cache_circuit_breaker
(extensions.common.dynamic_forward_proxy.v3.DnsCacheCircuitBreakers) 解析器斷路器的配置。它提供可配置的閾值。即使未設定此值,Envoy 也會使用預設設定的 DNS 快取斷路器。
- use_tcp_for_dns_lookups
(bool) 始終使用 TCP 查詢而不是 UDP 查詢進行 DNS 查找。此欄位已棄用,贊成使用
dns_resolution_config
,它將所有 DNS 解析器配置彙總在單個訊息中。
- dns_resolution_config
(config.core.v3.DnsResolutionConfig) DNS 解析配置,其中包括基礎 DNS 解析器位址和選項。此欄位已棄用,贊成使用 typed_dns_resolver_config。
- typed_dns_resolver_config
(config.core.v3.TypedExtensionConfig) DNS 解析器類型配置擴展。此擴展可用於配置 c-ares、apple 或任何其他 DNS 解析器類型和相關參數。例如,CaresDnsResolverConfig 的物件可以封裝到此
typed_dns_resolver_config
中。此配置取代了 dns_resolution_config 配置。在dns_resolution_config
和typed_dns_resolver_config
都存在的過渡期間,當typed_dns_resolver_config
存在時,Envoy 將使用它並忽略dns_resolution_config
。當typed_dns_resolver_config
遺失時,將會使用預設行為。
- preresolve_hostnames
(重複 config.core.v3.SocketAddress) 應該在建立時預先解析到快取中的主機名稱。這可能會為在穩定狀態期間將被解析且在配置載入時已知的主機名稱,以快取命中形式提供效能提升。
- dns_query_timeout
(Duration) 用於 DNS 查詢的逾時。此逾時獨立於基礎 DNS 實作(例如,c-areas 和 Apple DNS)使用的任何逾時和重試策略,它們是不透明的。設定此逾時將確保查詢在指定的時間範圍內成功或失敗,然後使用標準重新整理率重試。如果未設定,則預設為 5 秒。
- key_value_config
(config.common.key_value.v3.KeyValueStoreConfig) 將 DNS 快取刷新到長期儲存的配置。