gRPC is a high-performance RPC (Remote Procedure Call) framework using Protocol Buffers for serialization. Faster and more efficient than JSON REST APIs—binary format, HTTP/2, bidirectional streaming. Call remote service methods like local functions. Created by Google, used for microservice-to-microservice communication where performance matters. Not great for browser/mobile clients (use REST/GraphQL). Best for backend-to-backend communication.
Use gRPC for internal microservice communication (service A calls service B frequently), when performance matters (high-throughput, low-latency), when you need bidirectional streaming, or in polyglot environments (gRPC generates clients for many languages). Don't use for browser clients (limited support) or public APIs (REST/GraphQL easier for developers). gRPC shines in backend systems.
System Design Patterns
Fast RPC framework using protocol buffers