Eine RPC-API ist eine Programmierschnittstelle, über die ein Programm Funktionen auf einem anderen Rechner aufruft, als lägen sie im eigenen Code. Der Gedanke ist alt: Schon in den 1980er-Jahren wurden Fernaufrufe so beschrieben.
- RPC-API
Eine Schnittstelle, die Aufrufe von Funktionen mit Namen und Parametern über das Netz an einen anderen Rechner weiterreicht.
Beispiel: „Der Shop ruft über die RPC-API des Lagers die Funktion reserviereArtikel auf und bekommt eine Reservierungsnummer zurück.“Auch: Remote Procedure Call, auf Deutsch etwa entfernter Prozeduraufruf.
Abgrenzung zur REST-API: REST denkt in Ressourcen mit Adressen, etwa /bestellungen/42. RPC denkt in Funktionen, etwa storniereBestellung(42).
Formen der RPC-API
JSON-RPC verpackt Funktionsname, Parameter und eine Kennung in ein kleines JSON-Objekt und schickt es per HTTP. Es ist einfach zu bauen und wird etwa von Blockchain-Knoten und vom Model Context Protocol für KI-Werkzeuge verwendet.
gRPC stammt von Google und überträgt Daten in einem kompakten Binärformat über HTTP/2. Es ist sehr schnell und vor allem für die Kommunikation zwischen Diensten im selben Rechenzentrum gedacht. Auch SOAP ist im Kern eine Form von RPC.
Wann eine RPC-API passt
Wenn die Aufgabe eher eine Handlung ist als ein Datensatz: eine Zahlung auslösen, eine Mail verschicken, eine Berechnung starten. In REST müssen solche Vorgänge in Ressourcen übersetzt werden, bei RPC heißen sie einfach so, wie sie sind.
Der Nachteil: Jede Schnittstelle hat ihr eigenes Vokabular, und Caching über HTTP greift kaum, weil fast alles über POST läuft.
RPC-API und Websites
Für die meisten Website-Projekte begegnet RPC im Hintergrund, etwa wenn ein Zahlungsanbieter, ein KI-Dienst oder ein internes System so angebunden wird. Die Website selbst spricht nach außen meist REST.