ADC

gRPC

gRPC in einer Citrix ADC Appliance ist ein leichtgewichtiges, leistungsstarkes und universelles Remote Procedure Call (RPC) -Framework. Das Framework ist optimal, um in mehreren Sprachen zu arbeiten, die auf jedem Betriebssystem laufen. Auch im Vergleich zu anderen Protokollen bietet gRPC eine bessere Leistung und Sicherheit.

gRPC für Citrix ADC wird aus folgenden Gründen bevorzugt:

  • Erstellen Sie verteilte Anwendungen für Rechenzentren und öffentliche/private Cloud-Infrastrukturen.
  • Stellen Sie Client-Server-Kommunikation für Mobilgeräte, Web oder Cloud bereit.
  • Zugriff auf Cloud-Dienste und -Anwendungen
  • Microservice-Bereitstellungen

Warum gRPC in Citrix ADC?

gRPC in Citrix ADC ist über HTTP/2 implementiert, um hochleistungsfähige und skalierbare APIs zu unterstützen. Die Verwendung von Binär- als Text hält die Nutzlast kompakt und effizient. In Citrix ADC werden die HTTP/2-Anforderungen über eine einzige Multiplex-TCP-Verbindung gesendet, so dass mehrere gleichzeitige Nachrichten im unterwegs sind, ohne die Netzwerkressourcenauslastung zu beeinträchtigen. Es verwendet auch Header-Komprimierung, um die Größe von Anfragen und Antworten zu reduzieren.

gRPC unterstützt die folgenden Arten von Dienstmethoden für einen Client, um Parameter und Rückgabetypen remote aufzurufen.

  1. Unärer RPC. Der Client sendet eine einzelne Anfrage an den gRPC-Server und erhält eine einzige Antwort zurück.

    Beispiel: rpc SayHello(HelloRequest) returns (HelloResponse);

  2. Serverstreaming-RPC Der Client sendet eine einzelne Anfrage an den gRPC-Server und erhält eine Stream-Antwort.

    Beispiel: rpc StreamingResponse(HelloRequest) returns (HelloResponse);

  3. Client-Streaming-RPC Der Client sendet eine Sequenz von Nachrichten und wartet darauf, dass der Server seine Antwort liest und zurückgibt.

    Beispiel: rpc IntroduceYourself(stream HelloRequest) returns (HelloResponse)

  4. Bidirektionales Streaming-RPC Sowohl der Client als auch der Server von beiden Seiten senden einen Nachrichtenstrom über den Lese-Schreib-Stream. Die beiden Streams arbeiten unabhängig voneinander.

    Beispiel: rpc ChatSession (stream HelloRequest) returns (stream HelloResponse)

Citrix ADC unterstützt die folgenden Funktionen für seine Dienste mit gRPC-Endpunkten:

  • Lastausgleich
  • Content Switching
  • Sichere Endpunktdienste wie Web Application Firewall, Authentifizierung.
  • Richtlinienkonfiguration
  • Statistiken und Logging
  • Umschreiben von Inhalten, Filtern von Inhalten
  • Layer-4- und Layer-7-Optimierungen, TLS-Angebot
  • Gateway-Lösungen für Protokollübersetzungen
gRPC