gRPC

DEVELOPMENT

Quick Definition

gRPC is a remote procedure call framework originally developed by Google. Services are defined in .proto files using Protocol Buffers (protobuf), which generate strongly-typed client and server code in many languages. Communication runs over HTTP/2 (binary, multiplexed, streaming) with protobuf-encoded messages. Common in microservice architectures and any environment where the per-request overhead of REST + JSON matters.

How it works

Developers write .proto files defining services, methods, and message types. The protoc compiler generates client stubs and server skeletons in Go, Java, Python, C#, Rust, etc. Calls look like local function invocations to the application code; the generated stubs handle serialization and HTTP/2 transport.

gRPC supports four call types: unary (request/response, like REST), server streaming (one request, many responses), client streaming (many requests, one response), and bidirectional streaming (both sides stream concurrently). The streaming modes are where gRPC genuinely beats REST; unary alone offers more typing and binary efficiency but most of the same patterns as REST.

Why it matters

gRPC is dominant in internal-service communication where performance matters: 5-10x faster than REST + JSON for typical workloads, with strongly-typed contracts that catch breakage at build time. For public APIs facing browsers, REST + JSON is still simpler. For service meshes, machine learning, and high-volume internal traffic, gRPC is the default.

Where you'll see this on TerminalFeed

The REST vs GraphQL article covers the broader API-style landscape including gRPC's place in it.