动态配置

    在全静态配置中,实现者提供一组监听器(和)、 集群和可选的 。动态主机发现仅能通过基 于DNS 的服务发现。配置重载必须通过内置的机制进行。

    服务发现服务(SDS)API 提供更高级的机制,Envoy 可以通过该机制发现上游集群中的成员。SDS 已在 v2 API 中重命名为 Endpoint Discovery Service(EDS)。 在静态配置之上,SDS 允许 Envoy 部署规避 DNS 的局限性(响应中的最大记录等),并使用更多可用于负载均衡和路由的信息(例如,金丝雀状态、区域等)。

    尽管可以通过指定全静态集群来使用不带 SDS/EDS 的 CDS,但我们仍建议为通过 CDS 指定的集群使用 SDS/EDS API。 在内部,更新集群定义时,操作是优雅的。但是,所有现有的连接池都将被排空并重新连接。SDS/EDS 不受此限制。当通过 SDS/EDS 添加和删除主机时,集群中的现有主机不受影响。

    监听器发现服务 (LDS) 是 Envoy 的一种机制,可以在运行时发现整个监听器。这包括所有的过滤器堆栈,直到并包括带有内嵌到 的应用的 HTTP 过滤器。将 LDS 添加到混和中,几乎可以动态配置 Envoy 的每个方面。只有非常少见的配置更改(管理员、追踪驱动程序等)或二进制更新时才需要热启动。