Skip to content

What is gRPC

Key idea:

gRPC (gRPC Remote Procedure Calls) is a high-performance open-source RPC framework from Google (2015). Uses Protocol Buffers for serialization (5-10× more compact than JSON), HTTP/2 for transport, supports bidirectional streaming. Popular for service-to-service communication in microservices. Not usable in browsers without a grpc-web adapter.

Below: details, example, related terms, FAQ.

Details

  • Interface definition: .proto files describing service and messages
  • Serialization: Protocol Buffers (binary, compact)
  • Transport: HTTP/2 (multiplexing, bidirectional)
  • Streaming: unary, server-streaming, client-streaming, bidirectional
  • Client code generation for 10+ languages (Go, Java, Python, C++, Ruby, Node.js)

Example

service UserService {
  rpc GetUser (GetUserRequest) returns (User);
  rpc ListUsers (Empty) returns (stream User);  // server-streaming
}

Related Terms

Learn more

Frequently Asked Questions

gRPC vs REST?

gRPC — binary, fast, backed by Protocol Buffers; for internal microservices. REST — JSON, human-readable, universal for public APIs.

Does gRPC work in the browser?

Not directly — browsers lack HTTP/2 frame control. Use grpc-web (proxy) or gRPC-Gateway (REST-to-gRPC).

How to debug gRPC?

grpcurl — curl-like CLI. Or BloomRPC GUI. <a href="/en/check">Enterno HTTP checker</a> helps with REST-gateway endpoints.