Zum Inhalt springen

gRPC

aus Wikipedia, der freien Enzyklopädie

gRPC (gRPC Remote Procedure Calls)<ref name=":0">grpc.io</ref> ist ein von Google entwickeltes, auf dem RPC-Protokoll basierendes Framework<ref name=":0" /> 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[Bearbeiten]

IDL[Bearbeiten]

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.<ref>gRPC Overview</ref>

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]

C, C++, C#, Dart, Go, Java, Kotlin, Node.js, Objective-C, PHP, Python, Ruby,<ref>Supported languages and platforms. Abgerufen am 12. August 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Rust

Weblinks[Bearbeiten]

Belege[Bearbeiten]

<references />