Erweiterte Trafficverwaltung konfigurieren

Dieses Dokument enthält Informationen zur Konfiguration der erweiterten Trafficverwaltung für Ihre Traffic Director-Bereitstellung.

Vor der Konfiguration der erweiterten Trafficverwaltung

Folgen Sie der Anleitung unter Traffic Director einrichten und konfigurieren Sie Traffic Director sowie alle erforderlichen VM-Hosts oder GKE-Cluster. Erstellen Sie die benötigten Google Cloud-Ressourcen.

  • Mit dem Ziel-HTTP-Proxy sind alle in diesem Dokument beschriebenen Features verfügbar.
  • Mit dem Ziel-gRPC-Proxy sind einige Features verfügbar.
  • Mit dem Ziel-TCP-Proxy sind keine Features zur erweiterten Trafficverwaltung verfügbar.

Weitere Informationen finden Sie unter Traffic Director-Features und Erweiterte Trafficverwaltung. Unter VM-basierte proxylose gRPC-Dienste mit erweiterter Trafficverwaltung einrichten finden Sie einen vollständigen Leitfaden für die Einrichtung.

Trafficaufteilung einrichten

Bei dieser Anleitung wird Folgendes vorausgesetzt:

  • Ihre Traffic Director-Bereitstellung verfügt über eine URL-Zuordnung mit dem Namen review-url-map.
  • Die URL-Zuordnung sendet den gesamten Traffic an den Back-End-Dienst review1, der auch als Standard-Back-End-Dienst dient.
  • Sie möchten 5 % des Traffics an eine neue Version eines Dienstes weiterleiten. Dieser Dienst wird auf einer Back-End-VM oder einem Endpunkt in einer NEG ausgeführt, die mit dem Back-End-Dienst review2 verknüpft ist.
  • Es werden keine Hostregeln oder Tools zum Abgleich von Pfaden verwendet.

So richten Sie die Trafficaufteilung ein:

Console

  1. Rufen Sie in der Cloud Console die Seite "Traffic Director" auf.

    Zur Seite "Traffic Director"

  2. Klicken Sie auf Routingregelzuordnung erstellen.

  3. Geben Sie den Namen der Routingregelzuordnung ein.

  4. Wählen Sie im Menü Protokoll die Option HTTP aus.

  5. Wählen Sie eine vorhandene Weiterleitungsregel aus.

  6. Wählen Sie unter Routingregeln die Option Erweiterte Host-, Pfad- und Routeregel aus.

  7. Wählen Sie unter Tool zum Abgleich von Pfaden die Option Hosts und Tool zum Abgleich von Patches hinzufügen aus. Dies bietet einen neues Tool zum Abgleich von Pfaden, das Sie konfigurieren können, um den Traffic aufzuteilen.

  8. Fügen Sie dem Feld Tool zum Abgleich von Pfaden die folgenden Einstellungen hinzu:

        - defaultService: global/backendServices/review1
          name: matcher1
          routeRules:
          - priority: 2
            matchRules:
            - prefixMatch: ''
            routeAction:
             weightedBackendServices:
             - backendService: global/backendServices/review1
               weight: 95
             - backendService: global/backendServices/review2
               weight: 5
    
  9. Klicken Sie auf Fertig.

  10. Klicken Sie auf Erstellen.

gcloud

  1. Verwenden Sie den Befehl gcloud export, um die Konfiguration der URL-Zuordnung abzurufen:

    gcloud compute url-maps export review-url-map \
        --destination=review-url-map-config.yaml
    
  2. Fügen Sie der Datei review-url-map-config.yaml den folgenden Abschnitt hinzu:

        hostRules:
        - description: ''
         hosts:
          - '*'
        pathMatcher: matcher1
        pathMatchers:
        - defaultService: global/backendServices/review1
          name: matcher1
          routeRules:
          - priority: 2
            matchRules:
            - prefixMatch: ''
            routeAction:
             weightedBackendServices:
             - backendService: global/backendServices/review1
               weight: 95
             - backendService: global/backendServices/review2
               weight: 5
    
  3. Aktualisieren Sie die URL-Zuordnung:

     gcloud compute url-maps import review-url-map \
         --source=review-url-map-config.yaml
    

Wenn die neue Version Ihren Anforderungen entspricht, können Sie die Gewichtung der beiden Dienste schrittweise anpassen und schließlich den gesamten Traffic an review2 senden.

Schutzschaltung einrichten

Mit einer Schutzschaltung können Sie Fehlerschwellenwerte festlegen, damit Clientanfragen Ihre Back-Ends nicht überlasten. Wenn Anfragen ein von Ihnen festgelegtes Limit erreichen, lässt der Client keine neuen Verbindungen mehr zu und sendet keine weiteren Anfragen, damit Ihre Back-Ends Zeit erhalten, ihre Arbeitslast zu verarbeiten.

Auf diese Weise verhindern Schutzschaltungen Fehlerkaskaden. Anstatt ein Back-End zu überlasten, werden Fehler an den Client zurückgegeben. Dadurch kann ein Teil des Traffics verarbeitet werden, während parallel Zeit zum Lösen von Überlastungsproblemen bleibt. Beispielsweise können Zugriffsspitzen durch Erhöhen der Kapazität mithilfe von Autoscaling bewältigt werden.

Im folgenden Beispiel werden die Schutzschalter so festgelegt:

  • Maximale Anfragen pro Verbindung: 100
  • Maximale Anzahl an Verbindungen: 1.000
  • Maximale ausstehende Anfragen: 200
  • Maximale Anfragen: 1.000
  • Maximale Wiederholungsversuche: 3

So richten Sie eine Schutzschaltung ein:

Console

  1. Rufen Sie in der Cloud Console die Seite "Traffic Director" auf.

    Zur Seite "Traffic Director"

  2. Klicken Sie auf den Namen des Back-End-Dienstes, den Sie aktualisieren möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie auf Erweiterte Konfigurationen.
  5. Wählen Sie unter Schutzschalter das Kästchen Aktivieren aus.
  6. Klicken Sie auf Bearbeiten .
  7. Geben Sie unter Maximale Anfragen pro Verbindung den Wert 100 ein.
  8. Geben Sie unter Maximale Verbindungen den Wert 1000 ein.
  9. Geben Sie unter Maximal ausstehende Anfragen den Wert 200 ein.
  10. Geben Sie unter Maximale Anfragen den Wert 1000 ein.
  11. Geben Sie unter Maximale Wiederholungsversuche den Wert 3 ein.
  12. Klicken Sie auf Speichern.
  13. Klicken Sie auf Speichern.

gcloud

  1. Verwenden Sie den Befehl gcloud export, um die Konfiguration des Back-End-Dienstes abzurufen, wobei BACKEND_SERVICE_NAME der Name des Back-End-Dienstes ist.

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
        --destination=BACKEND_SERVICE_NAME-config.yaml --global
    
  2. Aktualisieren Sie die Datei BACKEND_SERVICE_NAME.yaml so:

     affinityCookieTtlSec: 0
     backends:
     - balancingMode: UTILIZATION
       capacityScaler: 1.0
        group:https://www.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/zones/<var>ZONE</var>/instanceGroups/<var>INSTANCE_GROUP_NAME</var>
       maxUtilization: 0.8
     circuitBreakers:
       maxConnections: 1000
       maxPendingRequests: 200
       maxRequests: 1000
       maxRequestsPerConnection: 100
       maxRetries: 3
     connectionDraining:
       drainingTimeoutSec: 300
     healthChecks:
       - https://www.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/global/healthChecks/<var>HEALTH_CHECK_NAME</var>
     loadBalancingScheme: INTERNAL_SELF_MANAGED
     localityLbPolicy: ROUND_ROBIN
     name: <var>BACKEND_SERVICE_NAME</var>
     port: 80
     portName: http
     protocol: HTTP
     sessionAffinity: NONE
     timeoutSec: 30
    ```
    
  3. Aktualisieren Sie die Konfigurationsdatei des Back-End-Dienstes:

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
       --source=BACKEND_SERVICE_NAME-config.yaml --global
    

Das folgende Beispiel für einen Schutzschalter bezieht sich auf einen Anwendungsfall, bei dem ein Einkaufswagendienst eine Instanzgruppe als Back-End nutzt. Die Einstellungen für den Schutzschalter enthalten die folgenden Limits:

  • Maximale Anzahl paralleler Anfragen pro Verbindung
  • Maximale Anzahl paralleler Verbindungen
  • Maximale Anzahl ausstehender Anfragen
  • Maximale Anzahl paralleler Anfragen
  • Maximale Anzahl paralleler Wiederholungsversuche

Führen Sie die folgenden Schritte aus, um dieses Schutzschalterbeispiel einzurichten:

Console

  1. Rufen Sie in der Cloud Console die Seite "Traffic Director" auf.

    Zur Seite "Traffic Director"

  2. Klicken Sie auf den Namen des Back-End-Dienstes, den Sie aktualisieren möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie auf Erweiterte Konfigurationen.
  5. Wählen Sie unter Schutzschalter das Kästchen Aktivieren aus.
  6. Klicken Sie auf Bearbeiten .
  7. Geben Sie unter Maximale Anfragen pro Verbindung den Wert 100 ein.
  8. Geben Sie unter Maximale Verbindungen den Wert 1000 ein.
  9. Geben Sie unter Maximal ausstehende Anfragen den Wert 200 ein.
  10. Geben Sie unter Maximale Anfragen den Wert 20000 ein.
  11. Geben Sie unter Maximale Wiederholungsversuche den Wert 3 ein.
  12. Klicken Sie auf Speichern.
  13. Klicken Sie auf Speichern.

gcloud

  1. Verwenden Sie den Befehl gcloud export, um die Konfiguration des Back-End-Dienstes zu exportieren, wobei BACKEND_SERVICE_NAME der Name des Back-End-Dienstes ist.

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
        --destination=BACKEND_SERVICE_NAME-config.yaml --global
    

Mit der erweiterten Trafficverwaltung können Sie die Sitzungsaffinität anhand eines bereitgestellten Cookies konfigurieren. Folgen Sie dieser Anleitung, um eine auf HTTP_COOKIE beruhende Sitzungsaffinität zu konfigurieren.

So richten Sie die Sitzungsaffinität mit HTTP_COOKIE ein:

Console

  1. Rufen Sie in der Cloud Console die Seite "Traffic Director" auf.

    Zur Seite "Traffic Director"

  2. Klicken Sie auf den Namen des Back-End-Dienstes, den Sie aktualisieren möchten.

  3. Klicken Sie auf Bearbeiten .

  4. Klicken Sie auf Erweiterte Konfigurationen.

  5. Wählen Sie unter Sitzungsaffinität die Option HTTP-Cookie aus.

  6. Wählen Sie unter Ort-Load-Balancing-Richtlinie die Option Schlüssel-Hash aus.

  7. Geben Sie im Feld HTTP-Cookie-Name http_cookie ein.

  8. Geben Sie im Feld HTTP-Cookie-Pfad /cookie_path ein.

  9. Geben Sie im Feld HTTP-Cookie-TTL 100 ein.

  10. Geben Sie im Feld Minimale Schlüsselbundgröße 10000 ein.

  11. Klicken Sie auf SPEICHERN.

gcloud

  1. Verwenden Sie den Befehl gcloud export, um die Konfiguration des Back-End-Dienstes zu exportieren, wobei BACKEND_SERVICE_NAME der Name des Back-End-Dienstes ist.

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
        --destination=BACKEND_SERVICE_NAME-config.yaml --global
    
  2. Aktualisieren Sie die Datei YAML so:

    sessionAffinity: 'HTTP_COOKIE'
    localityLbPolicy: 'RING_HASH'
    consistentHash:
    httpCookie:
      name: 'http_cookie'
      path: '/cookie_path'
      ttl:
        seconds: 100
        nanos: 30
    minimumRingSize: 10000
    
  3. Importieren Sie die Konfigurationsdatei für den Back-End-Dienst:

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
       --source=BACKEND_SERVICE_NAME-config.yaml --global
    

Ausreißererkennung einrichten

Die Ausreißererkennung steuert die Bereinigung von fehlerhaften Hosts aus dem Load-Balancing-Pool. Dazu nutzt Traffic Director eine Reihe von Richtlinien, die die Kriterien für das Entfernen fehlerhafter Back-End-VMs oder Endpunkte in NEGs sowie Kriterien dafür festlegen, wann ein Back-End oder Endpunkt als stabil genug gilt, um wieder Traffic zu empfangen.

Im folgenden Beispiel hat der Back-End-Dienst eine einzige Instanzgruppe als Back-End. Die Ausreißererkennung gibt an, dass die Ausreißererkennungsanalyse jede Sekunde ausgeführt wird. Wenn ein Endpunkt fünf aufeinanderfolgende 5xx-Fehler zurückgibt, wird er beim ersten Mal 30 Sekunden lang nicht für Load-Balancing berücksichtigt. Die reale Ausschlusszeit für denselben Endpunkt beträgt 30 Sekunden mal die Häufigkeit, mit der er ausgeschlossen wird.

Die Ausreißererkennung wird für die Back-End-Dienstressource eingerichtet.

Console

  1. Rufen Sie in der Cloud Console die Seite "Traffic Director" auf.

    Zur Seite "Traffic Director"

  2. Klicken Sie auf den Namen eines Dienstes.

  3. Klicken Sie auf Bearbeiten .

  4. Klicken Sie auf Erweiterte Konfigurationen.

  5. Wählen Sie das Kästchen Ausreißererkennung aus.

  6. Klicken Sie auf Bearbeiten .

  7. Legen Sie für Aufeinanderfolgende Fehler den Wert 5 fest.

  8. Legen Sie für Intervall 1000 Millisekunden fest.

  9. Legen Sie für Basisausschlusszeit 30000 Millisekunden fest.

  10. Klicken Sie auf Speichern.

  11. Klicken Sie auf Speichern.

gcloud

  1. Verwenden Sie den Befehl gcloud export, um die Konfiguration des Back-End-Dienstes zu exportieren, wobei BACKEND_SERVICE_NAME der Name des Back-End-Dienstes ist.

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
      --destination=BACKEND_SERVICE_NAME-config.yaml --global
    
  2. Aktualisieren Sie die YAML-Datei wie nachfolgend gezeigt und ersetzen Sie dabei den Namen des Back-End-Dienstes durch your_service_name:

    name: your_service_name
    loadBalancingScheme: INTERNAL_SELF_MANAGED
    backends:
    - balancingMode: UTILIZATION
      capacityScaler: 1.0
      group: $[INSTANCE_GROUP_URL]
    healthChecks:
    - $[HEALTH_CHECK_URL]
    port: 80
    portName: http
    protocol: HTTP
    outlierDetection:
      consecutiveErrors: 5,
      interval:
          seconds: 1,
          nanos: 0
      baseEjectionTime:
          seconds: 30,
          nanos: 0
      ````
    
  3. Importieren Sie die Konfigurationsdatei für den Back-End-Dienst:

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
      --source=BACKEND_SERVICE_NAME-config.yaml --global
    

Ort-Load-Balancing-Richtlinie festlegen

Verwenden Sie die Ort-Load-Balancing-Richtlinie, um einen Load-Balancing-Algorithmus anhand der von Traffic Director angegebenen Ortsgewichtung und Priorität auszuwählen. Beispielsweise können Sie eine gewichtete Round-Robin-Verteilung an fehlerfreien Endpunkten oder ein konsistentes Hashing ausführen.

Im folgenden Beispiel hat der Back-End-Dienst eine einzige Instanzgruppe als Back-End. Die Ort-Load-Balancing-Richtlinie ist auf RING_HASH festgelegt.

Console

  1. Rufen Sie in der Cloud Console die Seite "Traffic Director" auf.

    Zur Seite "Traffic Director"

  2. Klicken Sie auf den Namen eines Dienstes.

  3. Klicken Sie auf Bearbeiten .

  4. Klicken Sie auf Erweiterte Konfigurationen.

  5. Wählen Sie unter Trafficrichtlinie im Menü Ort-Load-Balancing-Richtlinie die Option Schlüssel-Hash aus.

  6. Klicken Sie auf Speichern.

gcloud

  1. Verwenden Sie den Befehl gcloud export, um die Konfiguration des Back-End-Dienstes zu exportieren, wobei BACKEND_SERVICE_NAME der Name des Back-End-Dienstes ist.

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
      --destination=BACKEND_SERVICE_NAME-config.yaml --global
    
  2. Aktualisieren Sie die Datei BACKEND_SERVICE_NAME.yaml so:

    name: shopping-cart-service
    loadBalancingScheme: INTERNAL_SELF_MANAGED
    backends:
    - balancingMode: UTILIZATION
      capacityScaler: 1.0
      group: $[INSTANCE_GROUP_URL]
    healthChecks:
    - $[HEALTH_CHECK_URL]
    port: 80
    portName: http
    protocol: HTTP
    localityLbPolicy: RING_HASH
    ````
    
  3. Importieren Sie die Konfigurationsdatei für den Back-End-Dienst:

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
      --source=BACKEND_SERVICE_NAME-config.yaml --global
    

Weitere Informationen zur Funktionsweise der Ort-Load-Balancing-Richtlinie finden Sie in der Dokumentation zur backendService-Ressource.

Konfigurationsfilter anhand der MetadataFilter-Übereinstimmung einrichten

MetadataFilters sind mit Weiterleitungsregeln und HttpRouteRuleMatch aktiviert. Mit diesem Feature können Sie eine bestimmte Weiterleitungs- oder Routingregel so steuern, dass die Steuerungsebene die Weiterleitungs- oder Routingregel nur an Proxys sendet, deren Knotenmetadaten mit der Metadatenfiltereinstellung übereinstimmen. Wenn Sie keine MetadataFilters angeben, wird die Regel an alle Envoy-Proxys gesendet.

Anhand dieses Features können Sie eine Konfiguration einfacher schrittweise bereitstellen. Erstellen Sie beispielsweise eine Weiterleitungsregel mit dem Namen forwarding-rule1, die nur an Envoy-Proxys übertragen werden soll, deren Knotenmetadaten "app:review" und "version: canary" enthalten.

Führen Sie die folgenden Schritte aus, um der Weiterleitungsregel MetadataFilters hinzuzufügen.

So fügen Sie einen MetadataFilter zu einer Weiterleitungsregel hinzu:

gcloud

  1. Verwenden Sie zum Abrufen der Konfiguration der Weiterleitungsregel den Befehl gcloud export.

    gcloud compute forwarding-rules export forwarding-rule1 \
        --destination=forwarding-rule1-config.yaml \
        --global
    
  2. Löschen Sie die Weiterleitungsregel:

    gcloud compute forwarding-rules delete forwarding-rule1 \
        --global
    
  3. Aktualisieren Sie die Datei forwarding-rule1-config.yaml.

    metadataFilters:
    - filterMatchCriteria: MATCH_ALL
      filterLabels:
      - name: 'app'
        value: 'review'
      - name: 'version'
        value: 'canary'
    
  4. Entfernen Sie alle reinen Ausgabefelder aus der Datei forwarding-rule1-config.yaml. Weitere Informationen finden Sie in der Dokumentation zu Import von gcloud-compute-Weiterleitungsregeln.

  5. Verwenden Sie den Befehl gcloud import zum Aktualisieren der Datei forwarding-rule1-config.yaml.

    gcloud compute forwarding-rules import forwarding-rule1 \
        --source=forwarding-rule1-config.yaml \
        --global
    
  6. Folgen Sie dieser Anleitung, um Knotenmetadaten zum Envoy-Proxy hinzuzufügen, bevor Sie Envoy starten. Beachten Sie, dass nur Stringwerte unterstützt werden.

    a. Bei einer VM-basierten Bereitstellung müssen Sie Folgendes im Metadatenbereich in der Datei bootstrap_template.yaml hinzufügen:

        app: 'review'
        version: 'canary'
    

    b. Bei Google Kubernetes Engine- oder Kubernetes-basierten Bereitstellungen müssen Sie Folgendes im Umgebungsbereich in der Datei trafficdirector_istio_sidecar.yaml hinzufügen:

        - name: ISTIO_META_app
          value: 'review'
        - name: ISTIO_META_version
          value: 'canary'
    

Beispiele für die Metadatenfilterung

Verwenden Sie die folgende Anleitung für ein Szenario, bei dem sich mehrere Projekte im selben freigegebenen VPC-Netzwerk befinden und bei dem die Traffic Director-Ressourcen jedes Dienstprojekts für Proxys im selben Projekt sichtbar sein sollen.

So richten Sie die freigegebene VPC ein:

  • Name des Hostprojekts: vpc-host-project
  • Dienstprojekte: project1, project2
  • Back-End-Dienste mit Back-End-Instanzen oder Endpunkten, die einen xDS-kompatiblen Proxy in project1 und project2 ausführen

So konfigurieren Sie Traffic Director zur Isolierung von project1:

gcloud

  1. Erstellen Sie alle Weiterleitungsregeln in project1 mit dem folgenden Metadatenfilter:

        metadataFilters:
        - filterMatchCriteria: 'MATCH_ALL'
          filterLabels
          - name: 'project_name'
            value: `project1
          - name: 'version'
            value: 'production'
    
  2. Wenn Sie die für Instanzen oder Endpunkte in project1 bereitgestellten Proxys konfigurieren, fügen Sie die folgenden Metadaten in den Knotenmetadatenbereich der Bootstrap-Datei ein:

       project_name: 'project1'
       version: 'production'
    
  3. Achten Sie darauf, dass die Proxys, die bereits in project2 bereitgestellt wurden, die im ersten Schritt erstellte Weiterleitungsregel nicht erhalten haben. Versuchen Sie zu diesem Zweck, von einem System mit einem Proxy in project2 auf Dienste in project1 zuzugreifen. Informationen zum Prüfen, ob eine Traffic Director-Konfiguration ordnungsgemäß funktioniert, finden Sie unter Konfiguration prüfen.

So testen Sie eine neue Konfiguration für einen Teil der Proxys, bevor Sie sie für alle Proxys verfügbar machen:

gcloud

  1. Starten Sie die Proxys, die Sie zum Testen verwenden, mit den folgenden Knotenmetadaten. Fügen Sie diese Knotenmetadaten nicht für Proxys ein, die Sie nicht zum Testen verwenden.

     version: 'test'
    
  2. Fügen Sie für jede neue Weiterleitungsregel, die Sie testen möchten, den folgenden Metadatenfilter ein:

     metadataFilters:
     - filterMatchCriteria: 'MATCH_ALL'
       filterLabels:
       - name: 'version'
         value: 'test'
    
  3. Testen Sie die neue Konfiguration dadurch, dass Sie Traffic an die Testproxys senden und die erforderlichen Änderungen vornehmen. Wenn die neue Konfiguration ordnungsgemäß funktioniert, erhalten nur die getesteten Proxys die neue Konfiguration. Die verbleibenden Proxys erhalten sie nicht und können sie dementsprechend nicht verwenden.

  4. Wenn Sie sicher sind, dass die neue Konfiguration ordnungsgemäß funktioniert, entfernen Sie den zugehörigen Metadatenfilter. Dadurch können alle Proxys die neue Konfiguration erhalten.

Fehlerbehebung

Gehen Sie nach den hier beschriebenen Informationen zur Fehlerbehebung vor, wenn der Traffic nicht gemäß den von Ihnen konfigurierten Routingregeln und Trafficrichtlinien weitergeleitet wird.

Symptome:

  • Vermehrter Traffic an Dienste in Regeln über der betreffenden Regel
  • Unerwartet vermehrte 4xx- und 5xx-HTTP-Antworten für eine bestimmte Routingregel

Lösung: Prüfen Sie die jeder Regel zugewiesene Priorität, da Routingregeln in der Reihenfolge ihrer Priorität interpretiert werden.

Achten Sie beim Definieren von Routingregeln darauf, dass Regeln mit höherer Priorität (also mit niedrigeren Prioritätsnummern) nicht versehentlich Traffic weiterleiten, der andernfalls von einer nachfolgenden Routingregel weitergeleitet worden wäre. Dazu ein Beispiel:

  • Erste Routingregel

    • Routingregel stimmt mit pathPrefix = '/shopping/' überein.
    • Weiterleitungsaktion: Traffic an den Back-End-Dienst service-1 senden
    • Regelpriorität: 4
  • Zweite Routingregel

    • Routingregel stimmt mit regexMatch = '/shopping/cart/ordering/.*' überein.
    • Weiterleitungsaktion: Traffic an den Back-End-Dienst service-2 senden
    • Regelpriorität: 8

In diesem Fall wird eine Anfrage mit dem Pfad '/shopping/cart/ordering/cart.html' an service-1 weitergeleitet. Auch wenn die zweite Regel eine Übereinstimmung gewesen wäre, wird sie ignoriert, da die erste Regel eine höhere Priorität hatte.