gRPC ist ein hochperformantes, sprach- und plattformneutrales Remote-Procedure-Call-Framework, das von Google initiiert und 2015 als Open Source veröffentlicht wurde. Es kombiniert HTTP/2 als Transport mit Protocol Buffers (protobuf) als Schnittstellenbeschreibung und Serialisierungsformat und unterstützt sowohl klassische Unary-Aufrufe als auch Streaming in beide Richtungen.
Eingesetzt wird gRPC vor allem für Service-zu-Service-Kommunikation in Microservice-Architekturen, in denen niedrige Latenz, hoher Durchsatz und strikte Schnittstellenverträge wichtiger sind als browser-zentrierte HTTP/REST-Lesbarkeit. Typische Szenarien sind interne Backend-APIs in polyglotten Umgebungen (z. B. .NET ↔ Go ↔ Java), Kommunikation zwischen Pods in Kubernetes, gRPC-Web in Browser-Anwendungen über einen Proxy sowie Realtime-Pipelines mit Streaming.
Der Einsatzzweck und das gelöste Problem liegen in der Vereinfachung typsicherer, performanter Cross-Service-APIs. .proto-Dateien dienen als Single Source of Truth: Aus ihnen werden Server- und Client-Stubs für unterschiedlichste Sprachen generiert; Protocol Buffers erlauben durch Feldnummern und kompatible Erweiterungen eine kontrollierte Schemaentwicklung, ohne bestehende Clients zu brechen. Im Vergleich zu JSON über HTTP/1.1 reduziert gRPC Overhead durch Multiplexing, Header-Komprimierung (HPACK) und kompaktere Binärserialisierung — bei klar höherem Aufwand für Tooling und Debugging.
Historisch wurde gRPC 2015 von Google als Open-Source-Variante des internen Stubby-Systems veröffentlicht. Im .NET-Ökosystem fand es zunächst über die externen Pakete Grpc.Core und Google.Protobuf Eingang, bevor mit ASP.NET Core 3.0 (2019) eine native, vollständig in Kestrel integrierte Server- und Client-Bibliothek bereitgestellt wurde. Spätere Versionen brachten gRPC-Web, Code-First-Workflows mit protobuf-net.Grpc, Native-AOT-Tauglichkeit und engere Integration mit OpenTelemetry.
Eingeführt wurde gRPC durch Google, im .NET-Kontext geprägt vor allem von James Newton-King (zuvor bekannt durch Json.NET) und dem ASP.NET-Core-Team. Bei der Vorstellung von gRPC in ASP.NET Core 3.0 zeigte das Team in Benchmarks, dass eine .NET-gRPC-Service-Pipeline auf vergleichbarer Hardware mehr Anfragen pro Sekunde verarbeiten kann als äquivalente Implementierungen in Go oder C++ — ein Ergebnis, das viele in der Community überraschte und die endgültige Etablierung von .NET als Plattform für Hochlast-Backend-Workloads markierte.
Mit dem Verschwinden von SOAP gehört gRPC zur Standard-Technologie bei bluehands, wenn es um hocheffiziente Machine-to-Machine Messaging-Lösungen geht.