EMZETT.
Login

GraphQL und gRPC

Kurz: GraphQL und gRPC sind Alternativen zu klassischen REST-Schnittstellen. GraphQL lässt Clients genau die Felder anfordern, die sie brauchen, gRPC nutzt ein kompaktes Binärformat.

Genauer: Bei GraphQL schickt der Client eine Abfrage, die beschreibt, welche Daten er braucht, und erhält genau diese in einer Anfrage. Bei gRPC definiert man Funktionen und Nachrichten in einer Schemadatei (Protocol Buffers), daraus entsteht Code für viele Sprachen.

Im Detail

  • GraphQL: Ein Endpunkt, ein Schema, weniger Überfluss und weniger Anfragen. Nachteile: Caching ist schwieriger, Abfragen können teuer werden (Tiefenlimits nötig).
  • gRPC: Schnell, streng typisiert, Streaming möglich, ideal zwischen Diensten. Im Browser nur mit Zusatz nutzbar.
  • REST: Einfach, verbreitet, gut zwischenspeicherbar (HTTP-Caching).
  • Wahl: Öffentliche Schnittstelle: oft REST. Interne Dienste: gRPC. Viele wechselnde Clients: GraphQL.

Siehe auch: REST, Microservices