gRPC
By Google
gRPC is a high-performance, open-source remote procedure call (RPC) framework, developed by Google, that uses Protocol Buffers for efficient, strongly typed service-to-service communication.
Definition
gRPC is a high-performance, open-source remote procedure call (RPC) framework, developed by Google, that uses Protocol Buffers for efficient, strongly typed service-to-service communication.
Overview
gRPC lets a client call a method on a remote server as if it were a local function, hiding the networking details behind generated client and server code. Services are defined in a `.proto` file using Protocol Buffers, a compact binary serialization format, from which gRPC generates strongly typed client and server code in many programming languages. Because it runs over HTTP/2, gRPC supports features that plain REST over HTTP/1.1 struggles with, including multiplexed requests over a single connection and multiple streaming modes: client streaming, server streaming, and full bidirectional streaming. Combined with Protocol Buffers' compact binary encoding, this typically makes gRPC faster and more bandwidth-efficient than JSON-based REST APIs for service-to-service traffic. These characteristics make gRPC especially popular for internal microservice-to-microservice communication inside systems built on Kubernetes, often written in languages like Go or Python, while public-facing APIs more often still use REST or GraphQL for broader client compatibility and easier debugging. The API Design & Best Practices course covers when gRPC is the right choice compared to these alternatives.
Specification
- Protocol Buffers for compact, strongly typed binary serialization
- Runs over HTTP/2 with multiplexed requests over one connection
- Native support for client, server, and bidirectional streaming
- Auto-generated client and server code across many languages
- Strongly typed service contracts defined in .proto files
- Built-in support for deadlines, cancellation, and retries
- Widely used for internal microservice-to-microservice communication
Use Cases
History
gRPC is a high-performance remote procedure call (RPC) framework that Google developed from its internal system "Stubby" and open-sourced in 2015 — the same year it released HTTP/2, which gRPC uses as its transport. gRPC uses Protocol Buffers as its interface definition language and serialization format, generating client and server stubs across many languages, and supports features such as bidirectional streaming, flow control, deadlines, and cancellation. Its design targets efficient, strongly typed service-to-service communication in microservice architectures. gRPC is now a project of the Cloud Native Computing Foundation (CNCF), reflecting its central role in cloud-native infrastructure.
Sources
- gRPC official website — grpc.io · as of 2026-07-17
- IBM — "What Is gRPC?" · as of 2026-07-17