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.

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

[Bearbeiten | Quelltext bearbeiten]

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

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