• V1 API概述
  • 返回

    V1 API概述

    注意:当前V1配置被认为是历史遗留的。它将在未来Envoy的版本中被弃用,并最终完全删除。如果您是Envoy的新手,强烈建议从V2配置API开始。

    Envoy配置格式以JSON编写,并针对JSON配置进行校验。配置模式可以在source/common/json/config_schemas.cc中找到。服务器的主要配置包含在监听器和集群管理器部分。其他配置项指定其他配置。

    支持YAML提供便利的手写配置。如果配置文件路径以.yaml结尾,Envoy在内部将YAML转换为JSON。在剩下的配置文档中,我们只提供JSON的配置描述。Envoy期望明确一下YAML标量,如一个集群名称(应该是一个字符串)被置为真,它应该在YAML配置中被写为“true”。同样也适用于整数值和浮点值(例如1、1.0和“1.0”)。

    1. {
    2. "listeners": [],
    3. "lds": "{...}",
    4. "admin": "{...}",
    5. "cluster_manager": "{...}",
    6. "flags_path": "...",
    7. "statsd_udp_ip_address": "...",
    8. "statsd_tcp_cluster_name": "...",
    9. "stats_flush_interval_ms": "...",
    10. "watchdog_miss_timeout_ms": "...",
    11. "watchdog_megamiss_timeout_ms": "...",
    12. "watchdog_kill_timeout_ms": "...",
    13. "watchdog_multikill_timeout_ms": "...",
    14. "tracing": "{...}",
    15. "rate_limit_service": "{...}",
    16. "runtime": "{...}",
    17. }

    listeners(必选,数组)

    需要由服务实例化的监听器数组。一个Envoy进程可以包含任意数量的监听器。

    lds(可选,对象)

    监听发现服务(LDS)的配置。如果未指定,则只加载静态监听器。

    admin(必选,对象)

    本地管理HTTP服务器的配置。

    cluster_manager(必选,对象)

    服务内所拥有的所有上游群集的群集管理器配置。

    flags_path(可选,字符串)

    启动在文件系统路径下搜索文件的标志。

    statsd_udp_ip_address(可选,字符串)

    符合statsd正在运行的UDP监听地址。如果指定了,则统计数据将会刷新到这个地址上。IPv4地址格式host:port(例如:127.0.0.1:855)。IPv6地址的格式[host]:port(例如[::1]:855)。

    statsd_tcp_cluster_name(可选,字符串)

    符合TCP的statsd集群管理集群的名称。如果指定,Envoy将连接到此群集以刷新统计信息。

    stats_flush_interval_ms(可选,整数)

    配置刷新统计信息时间(以毫秒为单位)。出于性能方面的原因,Envoy锁定计数器,并且只是周期性地刷新计数器和计量器。如果未指定,则默认值为5000毫秒(5秒)。

    watchdog_miss_timeout_ms(可选,整数)

    Envoy统计“server.watchdog_miss”统计信息中的线程无响应的时间(以毫秒为单位)。如果没有指定,默认是200ms。

    watchdog_megamiss_timeout_ms(可选,整数)

    Envoy统计“server.watchdog_mega_miss”统计信息中的线程无响应的时间(以毫秒为单位)。如果未指定,则默认值为1000毫秒。

    watchdog_kill_timeout_ms(可选,整数)

    监视一个线程在这个毫秒内没有响应,假定因BUG导致导致kill整个Envoy进程。设置为0表示禁用kill行为。如果未指定,则默认值为0(禁用)。

    watchdog_multikill_timeout_ms(可选,整数)

    如果至少有两个监视的线程至少在这个毫秒内没有响应,假定因一个真正的死锁导致kill整个Envoy进程。设置为0表示禁用kill行为。如果未指定,则默认值为0(禁用)。

    tracing(可选,对象)

    外部跟踪提供程序的配置。如果没有指定,则不会执行跟踪。

    rate_limit_service(可选,对象)

    配置外部限速服务提供商。如果没有指定,任何调用速率限制服务将立即返回成功。

    runtime(可选,对象)

    运行时配置提供程序的配置。如果未指定,将使用“null”提供程序,这将导致使用所有默认值。

    返回

    • 上一级
    • 首页目录