Использование Envoy для дублирования входных данных в 2 кластера - PullRequest
0 голосов
/ 16 января 2019

Можно ли использовать Envoy для дублирования входящего потока gRPC на 2 выходных потока?Мое предположение, основанное на документации Envoy, заключается в том, что вы можете использовать несколько виртуальных хостов (или веб-сервер Apache) для сценария дублирования, когда каждое имя виртуального хоста совпадает с одним и тем же префиксом и отправляет его в тот же кластер service1_grpc и тот же кластер service1_grpc для S2с заголовками для фильтрации того, что вы хотите отправить в этот кластер2.Читал ли Envoy о первом точном совпадении маршрута, но могу ли я дублировать данные в 2 потока, используя два виртуальных имени хоста для одного и того же домена + совпадение префикса URL?

virtual_hosts:
    - name: local_dup_service1
      domains: ["???"]
      routes:
      - match:
          prefix: "/routing.RoutingService/S1"
        route:
          cluster: service1_grpc
    - name: local_dup_service2
      domains: ["*"]
      routes:
      - match:
          prefix: "/routing.RoutingService/S1"
        route:
          cluster: service1_grpc
    - name: local_filtered_service2
      domains: ["*"]
      routes:
      - match:
          prefix: "/routing.RoutingService/S1"
          headers:
          - name: "camera_id"
            exact_match: "0"
        route:
          cluster: service1_grpc 
...