gRPC dominates internal service-to-service; REST/GraphQL for browser-facing public APIs.
Разбор
- gRPC internal S2S: binary Protobuf smaller/faster, HTTP/2 multiplex, streaming native, codegen kills drift.
- When NOT browser-facing: needs proxy, binary hard in DevTools, no HTTP caching, gRPC-Web no full streaming.
- Tooling tax. protoc, generated code, proxy deployment vs curl JSON.
- Debuggability. Binary frames — grpcurl, Buf, reflection.
- Contract discipline mandatory. Renumbering fields silently corrupts data.
Итог
gRPC inside the mesh; REST/GraphQL at the edge; tooling and debug costs are real day-to-day.