请求镜像

使用路由级别的请求镜像策略(request_mirroring_policies),我们可以配置 Envoy 将流量从一个集群镜像到另一个集群。

流量镜像或请求镜像是指当传入的请求以一个集群为目标时,将其复制并发送给第二个集群。镜像的请求是 "发射并遗忘" 的,这意味着 Envoy 在发送主集群的响应之前不会等待影子集群的响应。

请求镜像模式不会影响发送到主集群的流量,而且因为 Envoy 会收集影子集群的所有统计数据,所以这是一种有用的测试技术。

除了 "发送并遗忘" 之外,还要确保你所镜像的请求是空闲的。否则,镜像请求会扰乱你的服务与之对话的后端。

影子请求中的 authority/host 头信息将被添加 -shadow字符串。

为了配置镜像策略,我们在要镜像流量的路由上使用 request_mirror_policies字段。我们可以指定一个或多个镜像策略,以及我们想要镜像的流量的部分。

  route_config:
    name: my_route
    virtual_hosts:
    - name: httpbin
      domains: ["*"]
      routes:
      - match:
          prefix: /
        route:
          cluster: httpbin
          request_mirror_policies:
            cluster: mirror_httpbin
            runtime_fraction:
              default_value:
                numerator: 100
      ...

上述配置将 100% 地接收发送到集群 httpbin 的传入请求,并将其镜像到mirror_httpbin

results matching ""

    No results matching ""