跳至内容

HTTP 请求镜像

扩展支持功能

从 v1.0.0 开始,请求镜像功能是扩展功能,需要实现支持 HTTPRouteRequestMirror 功能。

HTTPRoute 资源 允许您使用 过滤器 将 HTTP 请求镜像到另一个后端。本指南介绍如何使用此功能。

镜像请求必须仅发送到此 backendRef 中的一个目标端点,网关必须忽略来自此后端的响应。

请求镜像在蓝绿部署中特别有用。它可用于评估对应用程序性能的影响,而不会以任何方式影响对客户的响应。

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: http-filter-mirror
  labels:
    gateway: mirror-gateway
spec:
  parentRefs:
  - name: mirror-gateway
  hostnames:
  - mirror.example
  rules:
  - backendRefs:
    - name: foo-v1
      port: 8080
    filters:
    - type: RequestMirror
      requestMirror:
        backendRef:
          name: foo-v2
          port: 8080

在此示例中,所有请求都转发到服务 foo-v1 的端口 8080 上,并且它们也转发到服务 foo-v2 的端口 8080 上,但响应仅从服务 foo-v1 生成。