GRPC

gRPC (gRPC Remote Procedure Calls)[1] ist ein von Google entwickeltes, auf dem RPC-Protokoll basierendes Framework[1] zum Aufruf von Funktionen in verteilten Computersystemen. Es basiert auf dem Standard HTTP/2 und Protocol Buffers. gRPC wird von der Cloud Native Computing Foundation als „incubating project“ bewertet.

Funktionsweise

IDL

Mittels einer Schnittstellenbeschreibungssprache (IDL) wird die Schnittstelle unabhängig von einer konkreten Programmiersprache spezifiziert.

message HelloRequest {
  string greeting = 1;
}

message HelloResponse {
  string reply = 1;
}

service HelloService {
  rpc SayHello(HelloRequest) returns
  (HelloResponse);
}

Mittels des Protocol-Buffer-Compilers 'protoc' (und eines Plugins für gRPC) kann aus dieser Beschreibung Server- und Client-Code, sogenannte Stubs, generiert werden.[2]

Auf der Serverseite wird der Stub üblicherweise durch Vererbung mit der eigentlichen Geschäftslogik ausgestattet. Auf Client-Seite bewirkt der Stub in Verbindung mit einem Transport (der mit dem Server verbunden ist) Aufrufe an den Server.

Unterstützte Programmiersprachen

C, C++, C#, Dart, Go, Java, Kotlin, Node.js, Objective-C, PHP, Python, Ruby,[3] Rust

  • Die offizielle gRPC Webseite
  • Erste Beta von Googles gRPC verfügbar

Belege

  1. a b grpc.io
  2. gRPC Overview
  3. Supported languages and platforms. Abgerufen am 12. August 2020 (amerikanisches Englisch).