gRPC-Framework: Sichere und zuverlässige Netzwerkkommunikation

Für die Netzwerkkommunikation via RPC eignet sich neben REST und Message Brokers auch gRPC. Es nutzt Protocol Buffers und punktet mit einigen Vorteilen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 17 Min.
Von
  • Tobias Karger
  • Sebastian Bindick
Inhaltsverzeichnis

APIs sind ein essenzieller Bestandteil jeder IT-Systemlandschaft und ermöglichen den Austausch von Daten zwischen Services im Netzwerk. Neben den auf REST oder Message Brokers basierenden Ansätzen hat sich das von Google entwickelte gRPC-Framework als Alternative für die Kommunikation etabliert.

gRPC verfolgt das Remote-Procedure-Call-Grundkonzept (RPC), das erlaubt, entfernte Prozeduren (Funktionen) über das Netzwerk in anderen Adressräumen aufzurufen. Dabei setzt gRPC das Client-Server-Modell um und abstrahiert die Schicht der Interprozesskommunikation. Entwicklerinnen und Entwickler können Schnittstelle und Funktionen sprachneutral über Protocol Buffers definieren. Aus den Protocol Buffers ist dann automatisch Quellcode für Client und Server für Programmiersprachen wie C#, C/C++, Go, Java, Node, PHP, Python und Ruby generierbar.

Mehr zum Thema Netzwerkprotokolle
Tobias Karger

Tobias Karger arbeitet als Product Manager im Software Development Center der Volkswagen AG. Er beschäftigt sich mit modernen Technologien zur Full-Stack-Entwicklung von Webanwendungen.

Dr. Sebastian Bindick

Dr. Sebastian Bindick ist im Software Development Center der Volkswagen AG tätig. Seine Schwerpunkte sind moderne Architekturen, API-Design, Domain-driven Design und Computational Engineering.

iX-tract
  • Das von Google entwickelte gRPC-Framework führt die Kommunikation in verteilten Client-Server-Architekturen durch.
  • Es verwendet HTTP/2 als Transportschicht und Protocol Buffers als Schnittstellendefinition.
  • gRPC hat sich als Alternative zu REST- und Message-Broker-Systemen etabliert.
  • Das Beispiel eines Pizzaservice zeigt den Aufbau einer verteilten Anwendung im produktiven Einsatz und berücksichtigt Aspekte wie Datenvalidierung, Testen, Performance und Statuscodes.

Darüber hinaus serialisiert und deserialisiert gRPC die in der Protocol-Buffers-Datei beschriebenen Daten für die eigentliche Übertragung in ein kompaktes Binärformat, was einen effizienten Transfer auch großer Datenmengen ermöglicht. Außerdem setzt es auf das HTTP/2-Protokoll als Transportschicht und erlaubt so eine asynchrone bidirektionale (Duplex-)Kommunikation zwischen Client und Server.

Das war die Leseprobe unseres heise-Plus-Artikels "gRPC-Framework: Sichere und zuverlässige Netzwerkkommunikation". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.