gRPC
Definition
High-performance Remote Procedure Call framework that can run in any environment, facilitating efficient communication between distributed systems.
Use Cases
- Google: Internal service-to-service communication in large-scale microservice architectures — Google created and open-sourced gRPC (building on ideas from its internal RPC systems). Teams define service contracts with Protocol Buffers and use generated client/server stubs for efficient, strongly-typed calls between services. (Standardized, high-performance communication patterns across services, enabling efficient binary serialization, streaming, and consistent APIs at scale.)
- Netflix: High-throughput, low-latency communication between microservices — Netflix has shared public engineering work around gRPC usage in microservices, typically using protobuf-defined APIs and gRPC clients/servers for internal calls where performance and schema-driven contracts are important. (Improved efficiency for internal service calls compared to text-based approaches in performance-sensitive paths, with clearer API contracts via protobuf schemas.)
Frequently Asked Questions
- What's the difference between gRPC and REST?
- REST is an architectural style commonly used over HTTP with human-readable formats like JSON. gRPC is an RPC framework that typically uses HTTP/2 plus Protocol Buffers (a compact binary format). In practice, gRPC often provides lower latency, smaller payloads, and built-in streaming, while REST is usually easier to call from browsers and simpler to debug with basic tools.
- When should I use gRPC?
- Use gRPC when you need fast, reliable service-to-service communication (especially in microservices), strong API contracts with code generation, or streaming (client, server, or bidirectional). It’s a good fit for internal APIs, high-throughput systems, and polyglot environments. Consider REST when you need broad compatibility with browsers, simple public APIs, or easy caching and inspection with standard HTTP tooling.
- How much does gRPC cost?
- gRPC itself is free and open source. Your costs come from where you run it: compute (VMs/containers/Kubernetes), networking (bandwidth, load balancers), and any managed components you choose (API gateways, service mesh, observability). Costs scale with request volume, payload sizes, and cross-zone/region traffic.
Category: software
Difficulty: advanced
Related Terms
See Also