Google kennzeichnet gRPC mit Version 1.0 als reif für den Produktiveinsatz
Das Open-Source-RPC-Framework arbeitet plattformübergreifend mit Bibliotheken für diverse Programmiersprachen. Es entstand in Zusammenarbeit mit dem Finanzdienstleister Square.
![Googles gRPC erreicht Version 1.0](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/1/8/7/6/9/5/6/fernsteuerung-9f297651202560e3.jpeg)
Google hat im Lauf der letzten 15 Jahre ein Framework für die Kommunikation zwischen verteilter Software über Remote Procedure Calls (RPC) entwickelt. Bei der Überlegung, wie man das Projekt als Open Source weiter vorantreiben könne, kam das Internetunternehmen zu dem Schluss, dass die Eigenentwicklung namens Stubby zu eng mit Googles Infrastruktur verknüpft ist und zu viele proprietäre Ansätze verwendet. Daher plante es in Zusammenarbeit mit dem Finanzdienstleister Square im März 2015 ein neues Framework, das dieselben Aufgaben basierend auf vorhandenen Standards erfüllen soll. Ein gutes halbes Jahr später erschien die erste öffentliche Beta von gRPC.
Plattformen und Programmiersprachen
Laut dem Blogbeitrag zur Ankündigung ist das Projekt während seiner Betaphase bei zahlreichen Unternehmen wie Netflix und CoreOS auf breites Interesse gestoßen. Mit der Veröffentlichung der Version 1.0 bezeichnen die Macher gRPC als bereit für den Einsatz im produktiven Betrieb. Das System bietet derzeit Bindings für die Programmiersprachen C++, Java, Go, Node.js, Ruby, Python und C# auf Windows, OS X und Linux. Außerdem gibt es Bibliotheken in Java auf Android und in Objective-C auf iOS. Auf der Transportebene verwendet gRPC HTTP/2 und zur Übermittlung der Daten standardmäßig Googles Protocol Buffers.
Die Funktionsweise ist dieselbe wie bei anderen RPC-Systemen: Ein Service implementiert einen gRPC-Server und die Clients einen dazu passenden Stub mit denselben Methoden, Parametern und Rückgabetypdefinitionen. Das Framework setzt auf Microservices und vermeidet verteilte Objekte.Die Client-Anwendung ruft die Funktion im Stub auf, der daraufhin eine Anfrage an den Server schickt, der die eigentliche Methode ausführt. Er gibt die Antwort an den Stub zurück, der sie der Client-Anwendung als Rückgabewert weiterreicht.
Weitere Details finden sich in den Blogs von Google und Square. Die gRPC-Website bietet eine Dokumentation und Referenz-APIs. Außerdem befindet sich der Quellcode für die Bibliotheken der einzelnen Programmiersprachen auf GitHub. (rme)