Skip to main content

Glossary

gRPC

Meaning and details

gRPC is contracts for service-to-service calls. You define messages and methods in a proto file, compile it into typed clients and servers for a dozen languages, and calls travel as compact binary over HTTP/2, with strea...

gRPC meaning

A high-performance RPC protocol over HTTP/2, using protocol buffers for typed contracts between services.

What is gRPC?

gRPC is contracts for service-to-service calls. You define messages and methods in a proto file, compile it into typed clients and servers for a dozen languages, and calls travel as compact binary over HTTP/2, with streaming in both directions. Google open-sourced it, and it is the connective standard of microservice backends, mobile-to-backend channels at scale, and internal APIs where performance and strong typing pay.

Why it matters to an indie builder: it is probably not for you yet, and knowing when it becomes for you is the useful knowledge. For a public API consumed by third parties, REST plus JSON remains the lingua franca, browsers and curl speak it natively while gRPC needs proxies to be web-friendly. gRPC earns its complexity at internal boundaries, service to service in your own system, where the typed contract, bidirectional streaming and multiplexed connections remove a class of integration bugs and the binary format cuts latency and bandwidth.

A concrete example: a system splits an ingestion monolith into three services. The REST version: hand-written clients per language, drifting JSON shapes, a quarter of integration bugs are contract mismatches that no compiler sees. The gRPC version: one proto file is the single source of truth, code generation produces identical types in Go and Python, and a contract change is a compile error instead of a runtime surprise at 2am. Inter-service latency drops from 14ms to 5ms on high-traffic paths as a side effect. The win is correctness first, performance second.

Common mistakes: adopting gRPC for a CRUD API that three consumers read, paying the complexity tax for no contract volume, exposing gRPC straight to browsers without the grpc-web proxy layer and wondering why nothing connects, treating the proto files casually, they are the API's source of truth and belong in version control with review, and skipping deadline propagation, a slow downstream service without cancellation cascades into exhausted connections. The api trait blocks on IndieBoot track where each style fits.

Keep exploring the glossary