Bootstrap (proto)

這個 proto 是透過 -c CLI 標誌提供的,並且作為 Envoy v3 組態的根。 有關更多詳細資訊,請參閱 v3 組態概觀

config.bootstrap.v3.Bootstrap

[config.bootstrap.v3.Bootstrap proto]

Bootstrap 組態概觀

{
  "node": {...},
  "static_resources": {...},
  "dynamic_resources": {...},
  "cluster_manager": {...},
  "hds_config": {...},
  "flags_path": ...,
  "stats_sinks": [],
  "deferred_stat_options": {...},
  "stats_config": {...},
  "stats_flush_interval": {...},
  "stats_flush_on_admin": ...,
  "watchdog": {...},
  "watchdogs": {...},
  "tracing": {...},
  "layered_runtime": {...},
  "admin": {...},
  "overload_manager": {...},
  "enable_dispatcher_stats": ...,
  "header_prefix": ...,
  "stats_server_version_override": {...},
  "use_tcp_for_dns_lookups": ...,
  "dns_resolution_config": {...},
  "typed_dns_resolver_config": {...},
  "bootstrap_extensions": [],
  "fatal_actions": [],
  "default_socket_interface": ...,
  "inline_headers": [],
  "perf_tracing_file_path": ...,
  "default_regex_engine": {...},
  "xds_config_tracker_extension": {...},
  "application_log_config": {...},
  "grpc_async_client_manager_config": {...},
  "memory_allocator_manager": {...}
}
node

(config.core.v3.Node) 要呈現給管理伺服器的節點身分識別,以及用於實例識別目的(例如,在產生的標頭中)。

static_resources

(config.bootstrap.v3.Bootstrap.StaticResources) 靜態指定的資源。

dynamic_resources

(config.bootstrap.v3.Bootstrap.DynamicResources) xDS 組態來源。

cluster_manager

(config.bootstrap.v3.ClusterManager) 叢集管理器的組態,該管理器擁有伺服器內的所有上游叢集。

hds_config

(config.core.v3.ApiConfigSource) 健康情況探索服務組態選項。 (core.ApiConfigSource)

flags_path

(string) 可選的檔案系統路徑,用於搜尋啟動標誌檔案。

stats_sinks

(repeated config.metrics.v3.StatsSink) 可選的統計資料接收器集。

deferred_stat_options

(config.bootstrap.v3.Bootstrap.DeferredStatOptions) 控制延遲建立相容統計資料行為的選項。

stats_config

(config.metrics.v3.StatsConfig) 用於內部處理統計資料的組態。

stats_flush_interval

(Duration) 可選的刷新到設定的統計資料接收器之間的時間間隔。 出於效能考量,Envoy 會鎖存計數器,並且僅以週期性間隔刷新計數器和儀表。 如果未指定,則預設值為 5000 毫秒(5 秒)。 只能設定 stats_flush_intervalstats_flush_on_admin 其中一個。 時間長度必須至少為 1 毫秒,且最多為 5 分鐘。

stats_flush_on_admin

(bool) 僅在管理介面上查詢時,才將統計資料刷新到接收器。 如果設定,則不會建立刷新計時器。 只能設定 stats_flush_on_adminstats_flush_interval 其中一個。

watchdog

(config.bootstrap.v3.Watchdog) 可選的看門狗組態。 這是用於整個系統的單一看門狗組態。 已棄用,改用具有更精細粒度的 watchdogs

watchdogs

(config.bootstrap.v3.Watchdogs) 可選的看門狗組態。 這用於為不同的子系統指定不同的看門狗。

提示

此擴展類別具有下列已知的擴展

tracing

(config.trace.v3.Tracing) 用於外部追蹤提供者的組態。

注意

此欄位已棄用,改用 HttpConnectionManager.Tracing.provider

layered_runtime

(config.bootstrap.v3.LayeredRuntime) 用於執行階段組態提供者的組態。 如果未指定,將使用「null」提供者,這將導致使用所有預設值。

admin

(config.bootstrap.v3.Admin) 用於本機管理 HTTP 伺服器的組態。

overload_manager

(config.overload.v3.OverloadManager) 可選的過載管理器組態。

注意

當存在不受信任的下游時,應該設定此欄位。

當存在不受信任的上游時,應該設定此欄位。

不受信任環境的組態範例

overload_manager:
  actions:
  - name: envoy.overload_actions.shrink_heap
    triggers:
    - name: envoy.resource_monitors.fixed_heap
      threshold:
        value: 0.9
  - name: envoy.overload_actions.stop_accepting_requests
    triggers:
    - name: envoy.resource_monitors.fixed_heap
      threshold:
        value: 0.95
  refresh_interval: 0.25s
  resource_monitors:
  - name: envoy.resource_monitors.fixed_heap
    typed_config:
      '@type': type.googleapis.com/envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig
      max_heap_size_bytes: 1073741824.0
enable_dispatcher_stats

(bool) 啟用 事件分派器的統計資料,預設為 false。 請注意,這會記錄每個執行緒上事件迴圈的每次迭代的值。 這通常應該是最小的負擔,但是當使用 statsd 時,它會個別透過網路傳送每個觀察到的值,因為 statsd 協定沒有任何方式可以表示直方圖摘要。 請注意,這可能是非常大量的資料。

header_prefix

(string) 可選字串,將用於取代 x-envoy 來為標頭加上前綴。

例如,如果此字串存在並設定為 X-Foo,則 x-envoy-retry-on 將轉換為 x-foo-retry-on 等。

請注意,這適用於 Envoy 將產生的標頭、Envoy 將清理的標頭,以及 Envoy 將信任的核心程式碼和核心擴展的標頭。 請非常小心地變更此字串,尤其是在多層 Envoy 部署或使用非上游擴展的部署中。

stats_server_version_override

(UInt64Value) 可選的 Proxy 版本,如果指定,將用於設定 server.version 統計資料 的值。 Envoy 不會處理此值,它會按原樣傳送到 統計資料接收器

use_tcp_for_dns_lookups

(bool) 始終使用 TCP 查詢而不是 UDP 查詢進行 DNS 查詢。 當指定 dns_resolversuse_tcp_for_dns_lookups 時,可以在 cds_config 中針對每個叢集覆寫此設定。 此欄位已棄用,改用 dns_resolution_config,後者會將所有 DNS 解析器組態聚合在單一訊息中。

dns_resolution_config

(config.core.v3.DnsResolutionConfig) DNS 解析組態,包括底層 DNS 解析器位址和選項。 當指定 dns_resolution_config 時,可以在 cds_config 中針對每個叢集覆寫此設定。 此欄位已棄用,改用 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_configtyped_dns_resolver_config 都存在的轉換期間,當 typed_dns_resolver_config 就緒時,Envoy 將使用它並忽略 dns_resolution_config。 當 typed_dns_resolver_config 遺失時,會使用預設行為。

bootstrap_extensions

(repeated config.core.v3.TypedExtensionConfig) 指定在啟動時實例化的可選引導擴充功能。每個項目都包含特定於擴充功能的設定。

提示

此擴展類別具有下列已知的擴展

以下擴充功能僅在 contrib 映像檔中可用

fatal_actions

(repeated config.bootstrap.v3.FatalAction) 指定在啟動時實例化的可選擴充功能,並在導致崩潰的請求發生崩潰時調用。

default_socket_interface

(string) 選擇性覆寫預設的 socket 介面。該值必須是通過引導擴充功能初始化的 socket 介面工廠之一的名稱

inline_headers

(repeated config.bootstrap.v3.CustomInlineHeader) 指定一組需要註冊為內聯標頭的標頭。此設定允許使用者在 Envoy 啟動時按需自訂內聯標頭,而無需修改 Envoy 的原始碼。

請注意,「set-cookie」標頭不能註冊為內聯標頭。

perf_tracing_file_path

(string) 可選的效能追蹤資料檔案路徑,該資料由二進位 ProtoBuf 格式的 "Perfetto" SDK 建立。預設值為 "envoy.pftrace"。

default_regex_engine

(config.core.v3.TypedExtensionConfig) 選擇性覆寫預設的正規表示式引擎。如果未指定該值,預設會使用 Google RE2。

提示

此擴展類別具有下列已知的擴展

以下擴充功能僅在 contrib 映像檔中可用

xds_config_tracker_extension

(config.core.v3.TypedExtensionConfig) 可選的 XdsConfigTracker 設定,允許在外部元件(例如,外部追蹤器或監視器)中追蹤 xDS 回應。它提供接收、擷取或無法處理 xDS 資源和訊息時的處理點。如果未指定值,則不會使用 XdsConfigTracker。

請注意

目前沒有內部儲存庫擴充功能,並且在使用之前應實作 XdsConfigTracker 介面。有關介面使用的範例,請參閱 xds_config_tracker_integration_test

application_log_config

(config.bootstrap.v3.Bootstrap.ApplicationLogConfig) 可選的應用程式記錄設定。

grpc_async_client_manager_config

(config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig) 可選的 gRPC 非同步管理員設定。

memory_allocator_manager

(config.bootstrap.v3.MemoryAllocatorManager) 記憶體配置管理員的可選設定。僅 tcmalloc 配置器 支援記憶體釋放。

config.bootstrap.v3.Bootstrap.StaticResources

[config.bootstrap.v3.Bootstrap.StaticResources proto]

{
  "listeners": [],
  "clusters": [],
  "secrets": []
}
listeners

(repeated config.listener.v3.Listener) 靜態 Listeners。無論 LDS 設定如何,這些接聽器都可用。

clusters

(repeated config.cluster.v3.Cluster) 如果為 cds_config 指定了基於網路的設定來源,則必須有一些可用的初始叢集定義,以允許 Envoy 知道如何與管理伺服器對話。這些叢集定義可能不使用 EDS(即它們應為靜態 IP 或基於 DNS 的)。

secrets

(repeated extensions.transport_sockets.tls.v3.Secret) 這些靜態密碼可供 SdsSecretConfig 使用

config.bootstrap.v3.Bootstrap.DynamicResources

[config.bootstrap.v3.Bootstrap.DynamicResources proto]

{
  "lds_config": {...},
  "cds_config": {...},
  "ads_config": {...}
}
lds_config

(config.core.v3.ConfigSource) 所有 Listeners 都由單一的 LDS 設定來源提供。

cds_config

(config.core.v3.ConfigSource) 所有後啟動的 Cluster 定義都由單一的 CDS 設定來源提供。

ads_config

(config.core.v3.ApiConfigSource) 可以選擇性地指定單一的 ADS 來源。這必須具有 api_type GRPC。只有設定了 ads 欄位的 ConfigSources 會在 ADS 通道上串流。

config.bootstrap.v3.Bootstrap.ApplicationLogConfig

[config.bootstrap.v3.Bootstrap.ApplicationLogConfig proto]

{
  "log_format": {...}
}
log_format

(config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat) 可選欄位,用於設定應用程式記錄格式。如果設定此欄位,它將覆寫預設的記錄格式。不允許同時設定此欄位和 --log-format 命令列選項,並將導致引導錯誤。

config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat

[config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat proto]

{
  "json_format": {...},
  "text_format": ...
}
json_format

(Struct) 以 JSON 格式刷新應用程式記錄。配置的 JSON 結構可以支援 --log-format 命令列選項部分中指定的所有格式標誌,除了 %v%_ 標誌之外。

必須設定 json_formattext_format 中的其中一個。

text_format

(string) 以字串定義的格式刷新應用程式記錄。文字格式可以支援 --log-format 命令列選項部分中指定的所有格式標誌。

必須設定 json_formattext_format 中的其中一個。

config.bootstrap.v3.Bootstrap.DeferredStatOptions

[config.bootstrap.v3.Bootstrap.DeferredStatOptions proto]

{
  "enable_deferred_creation_stats": ...
}
enable_deferred_creation_stats

(bool) 啟用此標誌時,Envoy 將延遲初始化統計資料的子集(請參閱下文)。如果在程序生命週期中從未引用這些統計資料,則可以在建立擁有這些統計資料的物件時節省記憶體和 CPU 週期。但是,這些物件將會產生額外的記憶體開銷,並且當第一次更新至少其中一個統計資料時,CPU 使用率會略微增加。將延遲初始化的統計資料群組: - 叢集流量統計資料:路由到叢集的請求時使用的 叢集統計資料 子群組。

config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig

[config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig proto]

{
  "max_cached_entry_idle_duration": {...}
}
max_cached_entry_idle_duration

(Duration) 可選欄位,用於設定快取 gRPC 用戶端物件的到期時間。最小值為 5 秒,預設值為 50 秒。

config.bootstrap.v3.Admin

[config.bootstrap.v3.Admin proto]

管理介面 操作說明文件

{
  "access_log": [],
  "access_log_path": ...,
  "profile_path": ...,
  "address": {...},
  "socket_options": [],
  "ignore_global_conn_limit": ...
}
access_log

重複的 config.accesslog.v3.AccessLog)用於管理伺服器發出的存取日誌的設定。

access_log_path

字串)用於寫入管理伺服器存取日誌的路徑。如果不需要存取日誌,請指定 ‘/dev/null’。只有在設定address時才需要此設定。此設定已棄用,請改用access_log,它提供更多選項。

profile_path

字串)用於管理伺服器的 CPU 分析器輸出路徑。如果未指定分析路徑,則預設為 ‘/var/log/envoy/envoy.prof’。

address

config.core.v3.Address)管理伺服器將監聽的 TCP 位址。如果未指定,Envoy 將不會啟動管理伺服器。

socket_options

重複的 config.core.v3.SocketOption)Envoy 原始碼或預編譯二進位檔案中可能不存在的其他 Socket 選項。

ignore_global_conn_limit

布林值)指示global_downstream_max_connections是否應適用於管理介面。

config.bootstrap.v3.ClusterManager

[config.bootstrap.v3.ClusterManager proto]

叢集管理員架構概觀

{
  "local_cluster_name": ...,
  "outlier_detection": {...},
  "upstream_bind_config": {...},
  "load_stats_config": {...},
  "enable_deferred_cluster_creation": ...
}
local_cluster_name

字串)本機叢集(即擁有執行此設定的 Envoy 的叢集)的名稱。為了啟用區域感知路由,必須設定此選項。如果定義了local_cluster_name,則必須在Bootstrap 靜態叢集資源中定義叢集。這與不影響區域感知路由--service-cluster選項無關。

outlier_detection

config.bootstrap.v3.ClusterManager.OutlierDetection)異常偵測的可選全域設定。

upstream_bind_config

config.core.v3.BindConfig)用於綁定新建立的上游連線的可選設定。此設定可以透過 cds_config 中的 upstream_bind_config 在每個叢集的基礎上覆寫。

load_stats_config

config.core.v3.ApiConfigSource)一個管理伺服器端點,用於透過StreamLoadStats串流負載統計資料。此設定必須具有api_type GRPC

enable_deferred_cluster_creation

布林值)ClusterManager 是否會在請求期間在工作執行緒中內聯建立叢集。如果存在大量非使用中的叢集且工作執行緒 > 1,這將節省記憶體和 CPU 週期。

config.bootstrap.v3.ClusterManager.OutlierDetection

[config.bootstrap.v3.ClusterManager.OutlierDetection proto]

{
  "event_log_path": ...
}
event_log_path

字串)指定異常事件日誌的路徑。

config.bootstrap.v3.Watchdogs

[config.bootstrap.v3.Watchdogs proto]

允許您為不同的子系統指定不同的看門狗設定。這允許為看門狗制定更精細的策略。如果省略子系統,將使用該系統的預設值。

{
  "main_thread_watchdog": {...},
  "worker_watchdog": {...}
}
main_thread_watchdog

config.bootstrap.v3.Watchdog)主執行緒的看門狗。

worker_watchdog

config.bootstrap.v3.Watchdog)工作執行緒的看門狗。

config.bootstrap.v3.Watchdog

[config.bootstrap.v3.Watchdog proto]

Envoy 程序看門狗設定。設定後,此設定會監控無回應的執行緒,並在達到設定的閾值後終止程序。如需更多資訊,請參閱看門狗說明文件

{
  "actions": [],
  "miss_timeout": {...},
  "megamiss_timeout": {...},
  "kill_timeout": {...},
  "max_kill_timeout_jitter": {...},
  "multikill_timeout": {...},
  "multikill_threshold": {...}
}
actions

重複的 config.bootstrap.v3.Watchdog.WatchdogAction)註冊將在給定的 WatchDog 事件上觸發的動作。如需事件優先順序,請參閱WatchDogAction

miss_timeout

持續時間)Envoy 在此持續時間後將無回應的執行緒計入 watchdog_miss 統計資料。如果未指定,則預設值為 200 毫秒。

megamiss_timeout

持續時間)Envoy 在此持續時間後將無回應的執行緒計入 watchdog_mega_miss 統計資料。如果未指定,則預設值為 1000 毫秒。

kill_timeout

持續時間)如果受監控的執行緒在此持續時間內無回應,則假設發生程式設計錯誤並終止整個 Envoy 程序。設定為 0 以停用終止行為。如果未指定,則預設值為 0(停用)。

max_kill_timeout_jitter

持續時間)定義用於調整kill_timeout的最大抖動,如果啟用kill_timeout。啟用此功能有助於降低由於外部觸發而導致跨 Proxy 的同步看門狗終止事件的風險。設定為 0 以停用。如果未指定,則預設值為 0(停用)。

multikill_timeout

持續時間)如果 max(2, ceil(registered_threads * Fraction(*multikill_threshold*))) 個執行緒在此持續時間內無回應,則終止整個 Envoy 程序。設定為 0 以停用此行為。如果未指定,則預設值為 0(停用)。

multikill_threshold

type.v3.Percent)根據multikill_timeout所需的無回應執行緒百分比設定multikill_timeout的閾值。如果未指定,則預設值為 0。

config.bootstrap.v3.Watchdog.WatchdogAction

[config.bootstrap.v3.Watchdog.WatchdogAction proto]

{
  "config": {...},
  "event": ...
}
config

config.core.v3.TypedExtensionConfig)動作的擴充特定設定。

event

config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent

列舉 config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent

[config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent proto]

事件會依此順序觸發:KILL、MULTIKILL、MEGAMISS、MISS。在事件類型內,動作會依設定的順序執行。對於 KILL/MULTIKILL,在註冊的動作之後會執行預設的 PANIC,如果程序尚未終止,則會終止程序。指定多個偵錯動作,以及可能的替代 FATAL 動作會很有用。

UNKNOWN

(預設)

KILL

MULTIKILL

MEGAMISS

MISS

config.bootstrap.v3.FatalAction

[config.bootstrap.v3.FatalAction proto]

在當機時執行的嚴重動作。動作可以是安全的(表示它們是異步訊號安全的)或不安全的。我們會在執行不安全的動作之前執行所有安全的動作。如果使用可能會卡住或死鎖的不安全動作,則必須使用頻外系統來終止程序。

擴充的介面為 Envoy::Server::Configuration::FatalActionFatalAction 擴充位於 envoy.extensions.fatal_actions API 命名空間中。

{
  "config": {...}
}
config

config.core.v3.TypedExtensionConfig)動作的擴充特定設定。它預期符合 Envoy::Server::Configuration::FatalAction 介面。

config.bootstrap.v3.Runtime

[config.bootstrap.v3.Runtime proto]

執行期(Runtime)組態概述 (已棄用)。

{
  "symlink_root": ...,
  "subdirectory": ...,
  "override_subdirectory": ...,
  "base": {...}
}
subdirectory

(字串) 指定要在根目錄中載入的子目錄。如果多個系統共用相同的傳遞機制,這會很有用。Envoy 組態元素可以包含在專用的子目錄中。

override_subdirectory

(字串) 指定要在根目錄中載入的可選子目錄。如果指定且目錄存在,則此目錄中的組態值將覆寫在主要子目錄中找到的組態值。當 Envoy 部署在許多不同類型的伺服器上時,這會很有用。有時,為每個服務叢集設置執行期組態目錄會很有幫助。請參閱下文,了解如何精確使用覆寫目錄。

base

(結構體) 靜態基本執行期。這將被其他執行期層級覆寫,例如磁碟或管理。這遵循執行期 protobuf JSON 表示編碼

config.bootstrap.v3.RuntimeLayer

[config.bootstrap.v3.RuntimeLayer proto]

{
  "name": ...,
  "static_layer": {...},
  "disk_layer": {...},
  "admin_layer": {...},
  "rtds_layer": {...}
}
name

(字串必要) 執行期層的描述性名稱。這僅用於執行期 GET /runtime 輸出。

static_layer

(結構體) 靜態執行期層。這遵循執行期 protobuf JSON 表示編碼。與靜態 xDS 資源不同,此靜態層可以被執行期虛擬檔案系統中的後續層覆寫。

必須設定 static_layerdisk_layeradmin_layerrtds_layer 中的其中一個。

disk_layer

(config.bootstrap.v3.RuntimeLayer.DiskLayer)

必須設定 static_layerdisk_layeradmin_layerrtds_layer 中的其中一個。

admin_layer

(config.bootstrap.v3.RuntimeLayer.AdminLayer)

必須設定 static_layerdisk_layeradmin_layerrtds_layer 中的其中一個。

rtds_layer

(config.bootstrap.v3.RuntimeLayer.RtdsLayer)

必須設定 static_layerdisk_layeradmin_layerrtds_layer 中的其中一個。

config.bootstrap.v3.RuntimeLayer.DiskLayer

[config.bootstrap.v3.RuntimeLayer.DiskLayer proto]

磁碟執行期層。

{
  "symlink_root": ...,
  "subdirectory": ...,
  "append_service_cluster": ...
}
subdirectory

(字串) 指定要在根目錄中載入的子目錄。如果多個系統共用相同的傳遞機制,這會很有用。Envoy 組態元素可以包含在專用的子目錄中。

append_service_cluster

(布林值) 將服務叢集附加到符號連結根目錄下的路徑。

config.bootstrap.v3.RuntimeLayer.AdminLayer

[config.bootstrap.v3.RuntimeLayer.AdminLayer proto]

管理主控台執行期層。

config.bootstrap.v3.RuntimeLayer.RtdsLayer

[config.bootstrap.v3.RuntimeLayer.RtdsLayer proto]

執行期探索服務 (RTDS)層。

{
  "name": ...,
  "rtds_config": {...}
}
name

(字串) 要在 rtds_config 中訂閱以取得 RTDS 層的資源。

rtds_config

(config.core.v3.ConfigSource) RTDS 組態來源。

config.bootstrap.v3.LayeredRuntime

[config.bootstrap.v3.LayeredRuntime proto]

執行期組態概述

{
  "layers": []
}
layers

(重複 config.bootstrap.v3.RuntimeLayer) 執行期的層級。順序是列表中較後的層級會覆蓋較早的項目。

config.bootstrap.v3.CustomInlineHeader

[config.bootstrap.v3.CustomInlineHeader proto]

用於指定需要註冊為內嵌標頭的標頭。

如果請求或回應包含多個具有相同名稱的標頭,並且該標頭名稱註冊為內嵌標頭。然後,多個標頭將被合併為一個,並且多個標頭值將由適當的分隔符連接起來。分隔符通常是逗號。

例如,如果 ‘foo’ 註冊為內嵌標頭,並且標頭包含以下兩個標頭

foo: bar
foo: eep

那麼它們最終將被合併為

foo: bar, eep

內嵌標頭提供 O(1) 的搜尋效能,但每個內嵌標頭都會在對應類型的 HeaderMap 或 TrailerMap 的所有實例上增加額外的記憶體開銷。

{
  "inline_header_name": ...,
  "inline_header_type": ...
}
inline_header_name

(字串必要) 預期設定為內嵌標頭的標頭名稱。

inline_header_type

(config.bootstrap.v3.CustomInlineHeader.InlineHeaderType) 預期設定為內嵌標頭的標頭類型。

列舉 config.bootstrap.v3.CustomInlineHeader.InlineHeaderType

[config.bootstrap.v3.CustomInlineHeader.InlineHeaderType proto]

REQUEST_HEADER

(預設)

REQUEST_TRAILER

RESPONSE_HEADER

RESPONSE_TRAILER

config.bootstrap.v3.MemoryAllocatorManager

[config.bootstrap.v3.MemoryAllocatorManager proto]

{
  "bytes_to_release": ...,
  "memory_release_interval": {...}
}
bytes_to_release

(uint64) 設定 tcmalloc 執行後台釋放記憶體,釋放量為每 memory_release_interval 間隔的位元組數。如果等於 0,則不會發生記憶體釋放。預設為 0

memory_release_interval

(持續時間) 記憶體釋放的間隔(毫秒)。如果指定,則在每個間隔期間,Envoy 將嘗試將 bytes_to_release 的可用記憶體釋放回作業系統以供重複使用。預設為 1000 毫秒。