NEW
An open-source, high-performance RPC framework using Protocol Buffers and HTTP/2 for efficient, cross-language service communication.
DESCRIPTION
gRPC enables client-server communication via strongly typed service contracts defined in Protocol Buffers IDL. It supports unary, server-streaming, client-streaming, and bidirectional streaming over HTTP/2. Code generation creates stubs for multiple languages, simplifying integration and performance. It’s widely used in microservices, mobile backends, and inter-service APIs for low latency and efficiency. Ecosystem components include load balancing, observability hooks, and integrations with service meshes like Envoy.
ALTERNATIVE DEFINITIONS
gRPC
gRPC is a high-performance, open-source universal RPC framework.
Emphasizes open-source and universal applicability across platforms.
Google Cloud
gRPC is a modern, open source, high-performance RPC framework that can run in any environment.
Highlights modern design, high performance, and portability.
RELATED TERMS
Protocol Buffers RPC HTTP-2 Microservices Service Mesh Envoy Interface Definition Language Program Synthesis Load Balancing
COMPETING TERMS
REST API GraphQL Apache Thrift
RELATIONS
- Conforms to: HTTP-2
KNOWLEDGE AREAS
Data Integration & Interoperability Software Engineering Real-time & Streaming Data Infrastructure
TARGET AUDIENCE
Software Developer DevOps Engineer Cloud Architect Data Engineer MLOps Engineer
EXTERNAL SOURCES
- Wikipedia - GRPC
- gRPC - Official documentation and guides
- Microsoft Learn - ASP.NET Core gRPC guidance
- Envoy Proxy - Service mesh proxy for gRPC
TOP QUESTIONS
When should you use gRPC instead of REST API?
Use gRPC for low-latency, high-throughput, and strongly-typed inter-service communication, especially in microservices or streaming scenarios.
Category: Opinion
What is the biggest misunderstanding about gRPC?
Many assume gRPC is only for internal services; it can power public APIs but requires client libraries and careful compatibility management.
Category: Misunderstanding
How does gRPC handle streaming?
gRPC supports server, client, and bidirectional streaming over HTTP/2, enabling efficient real-time data flows.
Category: Example
What are common mistakes with gRPC?
Ignoring backward compatibility in protobuf schemas, mishandling deadlines, and neglecting observability can lead to fragile services.
Category: Mistakes
What risks apply to using gRPC?
Binary payloads are less inspectable, and tight coupling to protobuf schemas can complicate evolution without strict compatibility rules.
Category: Risk
How do you secure gRPC services?
Use TLS/mTLS, enforce authorization at the service layer, and apply rate limits and quotas. Integrate with service mesh policies.
Category: Best practices
What is a hot topic around gRPC today?
HTTP/3 transport exploration, load balancing strategies, and standardized observability via OpenTelemetry are active areas.
Category: Topic
How does code generation work in gRPC?
Service definitions in .proto files generate client and server stubs across languages, ensuring type safety and consistency.
Category: Requirements
What are alternatives competing with gRPC?
REST APIs, GraphQL, and Apache Thrift compete. Choose based on performance, developer experience, and interoperability.
Category: Alternatives