gRPC

aus Wikipedia, der freien Enzyklopädie

gRPC (gRPC Remote Procedure Calls)[1] ist ein von Google entwickeltes, auf dem RPC-Protokoll basierendes Framework[2] 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.[3]

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

Unterstützte Programmiersprachen

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

Weblinks

Einzelnachweise

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