Limits und Einschränkungen bei Verwendung von proxylosem gRPC

Dieses Dokument enthält Einschränkungen für Traffic Director mit einer proxylosen gRPC-Anwendung. Informationen zu Kontingenten und Limits finden Sie auf der Seite Kontingente und Limits.

Allgemeine Beschränkungen

  • Sie können in der Google Cloud Console mit dem gRPC-Protokoll keine Back-End-Dienste und Routingregelzuordnungen konfigurieren. Die Cloud Console ist für diese Ressourcen schreibgeschützt.

  • Proxyloses gRPC unterstützt die Endpunkterkennung, Routing, Load-Balancing und Ladeberichte.

    • Die erforderliche gRPC-Version zur Unterstützung einiger Features der erweiterten Trafficverwaltung finden Sie unter Unterstützte gRPC-Versionen und -Sprachen.

    • Wenn Sie nicht unterstützte Features zur erweiterten Trafficverwaltung benötigen, konfigurieren Sie Ihre gRPC-Clients so, dass nur proxylose gRPC-Dienste für einen Teil der Dienste verwendet werden. Sie können Sidecar-Proxys zur Kommunikation mit Servern verwenden, die Funktionen benötigen, die noch nicht von proxylosen gRPC-Diensten unterstützt werden.

  • In gRPC wird nur das Round-Robin-Load-Balancing unterstützt. Andere Load-Balancing-Algorithmen werden nicht unterstützt.

    • Traffic Director stellt dem gRPC-Client eine priorisierte, gewichtete Liste der Lokalitäten (eine Instanzgruppe oder NEG) zur Verfügung. Traffic Director berechnet dies anhand der nächstgelegenen verfügbaren Zone, deren Kapazität und des Balancing-Modus des Back-End-Dienstes. Für eine bestimmte Anfrage wählt der gRPC-Client anhand von Priorität und Gewichtung eine oder mehrere Lokalitäten aus und führt ein Load-Balancing nach dem Round-Robin-Verfahren für die Back-Ends innerhalb dieser Lokalitäten durch.
  • Failover: Der Failover von einer Zone (Lokalität) zu einer anderen Lokalität beginnt, wenn die aktuelle Zonenkapazität unter 50 % fällt. Dieser Schwellenwert kann nicht konfiguriert werden.

  • In einigen Fällen können die Konfigurationsbefehle für einen gRPC-Zielproxy und eine Weiterleitungsregel, die auf einen gRPC-Zielproxy verweist, bis zu eine Minute dauern.

Einschränkungen für URL-Zuordnungen

Die folgenden URL-Zuordnungsfeatures für Trafficverwaltung werden bei proxylosen gRPC-Diensten unterstützt:

  • hostrules
  • In pathMatcher von hostRules unterstützte Features
    • name
    • description
    • defaultService
    • defaultRouteAction
    • weightedBackendServices
      • backendService
      • weight
    • pathRules
    • service
    • routeAction
      • weightedBackendServices
        • backendService
        • weight
    • paths
    • routeRules
    • priority
    • description
    • matchRules
      • prefixMatch
      • fullPathMatch
      • headerMatches
    • service
    • routeAction
      • weightedBackendServices
        • backendService
        • weight

Die folgenden URL-Zuordnungslimits gelten bei Verwendung von proxylosen gRPC-Diensten:

  • Platzhalterzeichen in Hostregeln und Standardregeln einer URL-Zuordnung, einschließlich der implizit erstellten *-Hostregel einer URL-Zuordnung, werden nicht unterstützt. Solche Einträge werden übersprungen, wenn der Hostabgleich abgeschlossen ist.

  • Folgende Features werden nicht unterstützt:

    • queryParameterMatches in routeRules
    • Routingaktionen headerAction, urlRewrite, timeout, retryPolicy, requestMirrorPolicy, corsPolicy, faultInjectionPolicy und urlRedirect.
    • Die Parameter defaultService, defaultRouteAction, defaultUrlRedirect und headerAction der URL-Zuordnung werden von keinen proxylosen gRPC-Diensten verwendet. Wird keine übereinstimmende hostRule gefunden, wenn ein proxyloser gRPC-Client nach einem Dienstnamen sucht, gibt Traffic Director einen Fehler für die Namenssuche zurück, statt den Standarddienst oder die Aktion der URL-Zuordnung zu verwenden.
    • headerAction in weightedBackendServices.
  • In Übereinstimmungsregeln für die URL-Zuordnung werden nur nicht binäre benutzerdefinierte Metadaten und der Header content-type unterstützt. Die folgenden Header auf Transportebene können in Header-Übereinstimmungsregeln nicht verwendet werden: :authority, :method, :path, :scheme, user-agent, accept-encoding, content-encoding, grpc-accept-encoding, grpc-encoding, grpc-previous-rpc-attempts, grpc-tags-bin, grpc-timeout und grpc-trace-bin.

  • Wenn Sie die Hostregel einer URL-Zuordnung aktualisieren, um von einem Back-End-Dienst zu einem anderen zu wechseln, wird der Traffic möglicherweise unterbrochen, während die neue Konfiguration an die Clients übertragen wird. Konfigurieren Sie die Trafficaufteilung mit gewichteten Back-End-Diensten, um diese Einschränkung zu vermeiden. Danach wird der Traffic langsam vom alten Back-End-Dienst zum neuen Back-End-Dienst verschoben.

Einschränkungen für gRPC-Zielproxys

Wenn von einem gRPC-Zielproxy auf eine URL-Zuordnung verwiesen wird, können die folgenden URL-Zuordnungsfeatures nicht konfiguriert werden, unabhängig davon, ob Sie einen Sidecar-Proxy oder einen proxylosen gRPC-Dienst verwenden. Das liegt daran, dass diese HTTP-Protokollfeatures nicht für das gRPC-Protokoll gelten:

  • Übereinstimmungsregel queryParameterMatches
  • Routingaktion urlRewrite
  • Routingaktion urlRedirect
  • Aktion corsPolicy

Einschränkungen für Back-End-Dienste

Die folgenden Back-End-Dienstfeatures werden nicht für proxylose gRPC-Dienste unterstützt, die für ein Sidecar-Proxy unterstützt werden:

  • sessionAffinity
  • affinityCookieTtlSec
  • consistentHash
  • circuitBreakers
  • outlierDetection

Einschränkungen für die erweiterte Trafficverwaltung