Unsere Microservices kommunizieren über REST mit JSON. Es funktioniert, aber JSON-Serialisierung ist langsam, es gibt kein Schema, und Streaming ist ein Hack. gRPC löst alle drei Probleme.
Was ist gRPC¶
Ein RPC-Framework von Google. Protocol Buffers für die Serialisierung (binär, kompakt, typisiert) und HTTP/2 als Transport (Multiplexing, Streaming).
syntax = "proto3";
service OrderService {
rpc CreateOrder (CreateOrderRequest) returns (Order);
rpc StreamUpdates (GetOrderRequest) returns (stream OrderUpdate);
}
message Order {
string id = 1;
string status = 2;
}
Leistungsunterschied¶
- Serialisierung: Protobuf 3-5x schneller als JSON
- Payload: Protobuf 2-3x kleiner
- Latenz: gRPC ~30 % niedriger dank HTTP/2
- Streaming: gRPC nativ
Wann gRPC, wann REST¶
gRPC: interne Service-to-Service-Kommunikation, High-Throughput Streaming. REST: öffentliche APIs, Browser, Drittanbieter. Envoy kann gRPC-JSON Transcoding an den Systemgrenzen durchführen.
gRPC ist ideal für interne Microservices¶
Für öffentliche APIs REST verwenden, für interne Kommunikation gRPC — typisierte Verträge, hohe Leistung und natives Streaming. Wir migrieren schrittweise.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns