1
Backend
gRPC vs REST for internal service-to-service communication
Performance ↔ Debuggability
Context
We have ~20 Go services talking JSON over HTTP. Payload serialization shows up in profiles and we've had several incidents caused by schema drift between services.
gRPC fixes both on paper. Costs: tooling, debugging with curl, load balancer support for HTTP/2, and a learning curve.
gRPCvsREST/JSON
Community verdict
gRPC 50%REST/JSON 50%
6 engineers · 2 opinions
With these constraints, what would you choose?
One choice per engineer. You can change it any time.
gRPC
REST/JSON
Debuggability →
Trade-offs
Dimensions
gRPCREST/JSONout of 5
- Performance
- 5gRPC scores 5 of 53REST/JSON scores 3 of 5
- Debuggability
- 2gRPC scores 2 of 55REST/JSON scores 5 of 5
- Contract safety
- 5gRPC scores 5 of 5
Community discussion
2 comments
Have you made this decision in production? Share your reasoning.
Sign in to commentThe contract is the real win, not the speed. Generated clients from .proto files plus buf breaking-change checks in CI ended our schema-drift incidents.
Watch out for L4 load balancers: they pin long-lived HTTP/2 connections to one pod. You need client-side balancing or a mesh. JSON over HTTP/1.1 just works everywhere.