Listener

Listerner介绍

监听器是可以接受来自下游客户端的连接的命名网络位置(如port,unix domain socket等)。

Envoy配置支持在单个进程内有任意数量的监听器。通常我们建议每台机器运行一个Envoy,无论配置的监听器数量如何。这样可以更容易的操作,并有单一的统计来源。

备注:目前 Envoy 只支持 TCP 监听器。

Listener配置

监听器配置可以在引导程序配置中静态声明,也可以通过监听器发现服务(Listerner Discovert Service/LDS)动态声明。

顶级 Envoy 配置包含一个监听器列表。每个独立的监听器配置具有以下格式:

listeners:
  - address:
      socket_address:
        address: 0.0.0.0
        port_value: 80
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        config:
          codec_type: auto
          stat_prefix: ingress_http
          route_config:
            name: local_route
            virtual_hosts:
            - name: backend
              domains:
              - "*"
              routes:
              - match:
                  prefix: "/service/1"
                route:
                  cluster: service1
              - match:
                  prefix: "/service/2"
                route:
                  cluster: service2
          http_filters:
          - name: envoy.router
            config: {}

LDS动态配置

监听器也可以通过 监听器发现服务 (LDS)动态获取。

参考资料