gRPC

Problem

Interne Dienste rufen sich tausende Male pro Sekunde an. JSON über HTTP ist lesbar und flexibel, aber Sie möchten vielleicht: * strenge Verträge, * kompakte binäre Nachrichten, * generierte Clients, * effiziente Remote Procedure Calls.

Lösung — gRPC

gRPC verwendet normalerweise HTTP/2, das über TCP übertragen wird, mit TLS zur Verschlüsselung. Protocol Buffers (Protobuf) ist das Standardnachrichtenformat. gRPC steht für "gRPC Remote Procedure Calls": das "g" bezieht sich auf gRPC selbst, einen rekursiven Namen. Ein Remote Procedure Call fordert einen anderen Dienst auf, eine Operation auszuführen und sein Ergebnis zurückzugeben. Gegenüber JSON über HTTP kodiert das standardmäßig verwendete Protocol-Buffers-Format Nachrichten als kompakte Binärdaten. Generierter Clientcode verringert die Handarbeit beim Erstellen von Dienstaufrufen.
Definieren Sie Vorgänge und Nachrichtentypen in einem Vertrag:
GetCustomer(CustomerId)
    → Kunde
Code kann für Clients und Server generiert werden, und Nachrichten werden effizient serialisiert.
Kerngedanke: gRPC verbindet entfernte Dienstaufrufe mit typisierten Schnittstellen und effizienter Übertragung.