gRPC-Übersicht

gRPC ist ein von Google entwickeltes leistungsstarkes, universelles Open-Source-RPC-Framework. In gRPC kann eine Clientanwendung direkt Methoden auf einer Serveranwendung auf einer anderen Maschine aufrufen, als ob sie ein lokales Objekt wäre. Dadurch wird es einfacher, verteilte Anwendungen und Dienste zu erstellen.

Einer der Hauptvorteile der Verwendung von gRPC ist die Dokumentation. können Sie Ihre Dienstkonfigurations- und API-Schnittstellendateien, Referenzdokumentation für Ihre API.

API-Verwaltung

Mit API Gateway für gRPC können Sie die API-Verwaltung Funktionen von API Gateway, um Monitoring, Hosting, Tracing, Authentifizierung und mehr für Ihre gRPC-Dienste in Cloud Run. Außerdem Sobald Sie spezielle Zuordnungsregeln festgelegt haben, übersetzt API Gateway RESTful JSON über HTTP. in gRPC-Anfragen. Das bedeutet, dass Sie einen von API Gateway verwalteten gRPC-Server bereitstellen und seine API mit einem gRPC oder JSON/HTTP-Client aufrufen können. Dadurch sind Sie wesentlich flexibler und die Abstimmung mit anderen Systemen wird leichter.

Sie können gRPC-Dienste für API Gateway in jeder von gRPC unterstützten Sprache erstellen. Weitere Informationen über gRPC, darunter Schnellstarts und Anleitungen zum Erstellen von Servern und Clients, finden Sie auf der gRPC-Website.

Dienstdefinition und -konfiguration

gRPC basiert auf der Idee, einen Dienst zu definieren, wobei die Methoden, die über einen Remote Call aufgerufen werden können, mit ihren Parametern und Rückmeldetypen angegeben werden. Standardmäßig nutzt gRPC Protokollzwischenspeicher als Interface Definition Language (IDL) zur Beschreibung der Dienstschnittstelle und der Struktur der Nutzlast-Nachrichten.

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

Um gRPC mit API Gateway zu verwenden, müssen Sie eine Dienstkonfiguration zusammen mit der Dienstdefinition. Dies konfiguriert das Laufzeitverhalten Ihres Dienstes, darunter die Authentifizierung, die API(s) in dem Dienst, Zuordnungen von HTTP-Anfragen zu gRPC-Methoden und spezielle API Gateway-Einstellungen.

Transcodierung

API Gateway bietet Protokollübersetzung für Ihre gRPC-Dienste in Cloud Run So können Clients HTTP/JSON verwenden, um über API Gateway mit einem gRPC-Dienst zu kommunizieren.

Der häufigste Anwendungsfall besteht darin, Browser-Clients die Kommunikation mit gRPC-Servern ohne spezielle Unterstützung von gRPC-Clientbibliotheken zu ermöglichen. API-Gateway bietet einen Mechanismus für die Zuordnung von HTTP-Anfragen zu gRPC-Methoden im Rahmen von Dienstkonfiguration

Weitere Informationen finden Sie unter HTTP/JSON für gRPC transcodieren.

Beschränkungen

Die folgenden gRPC-Features werden in API Gateway noch nicht unterstützt:

  • Nutzlastkomprimierung
  • Andere IDLs als Protokollpuffer

API Gateway unterstützt nur Cloud Run gRPC-Dienste.

Nächste Schritte

  • Sehen Sie sich die Beispiele an. Das Beispiel getting-started-grpc ist auf GitHub in den folgenden Sprachen verfügbar:
  • Das Bookstore-Beispiel ist in den folgenden Sprachen verfügbar: