Citrix ADC

gRPC

gRPC in einer Citrix ADC Appliance ist ein leichtes, leistungsstarkes und Open-Source-universelles RPC-Framework (Remote Procedure Call). Das Framework ist optimal, um über mehrere Sprachen hinweg zu arbeiten, die auf jedem Betriebssystem ausgeführt werden. 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 Rechenzentrums- und Public/Private Cloud-Infrastruktur.
  • Bieten Sie Client-Server-Kommunikation für Mobilgeräte, Web oder Cloud.
  • 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ären 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. Client sendet eine einzelne Anforderung an den gRPC-Server und erhält eine einzelne Antwort zurück.

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

  1. Server Streaming RPC. Client sendet eine einzelne Anforderung an den gRPC-Server und erhält eine Stream-Antwort.

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

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

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

  1. Bidirektionales Streaming RPC. Sowohl Client als auch Server von beiden Seiten senden einen Stream von Nachrichten mit Lese-Schreib-Stream. Die beiden Ströme 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-Umschaltung
  • Sichere Endpunktdienste wie Web Application Firewall, Authentifizierung usw.
  • Richtlinienkonfiguration
  • Statistiken und Protokollierung
  • Umschreiben von Inhalten, Inhaltsfilterung
  • Layer-4- und Layer-7-Optimierungen, TLS-Angebot
  • Gateway-Lösungen für Protokollübersetzungen

gRPC