gRPC
gRPC (gRPC Remote Procedure Calls)[1] ist ein Protokoll 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 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[3]
Einzelnachweise
- grpc.io
- gRPC Overview
- Supported languages and platforms. Abgerufen am 12. August 2020 (amerikanisches Englisch).