gRPC

Active
GitHub C++ Apache-2.0

Description

Google's open-source high-performance RPC framework supporting cross-language service communication as the core infrastructure of microservice architectures.

Key Features

  • HTTP/2 multiplexing — Low-latency bidirectional streaming via HTTP/2 protocol
  • Protocol Buffers IDL — Define service interfaces in .proto files, auto-generate multi-language client and server code
  • 10+ language SDKs — Official bindings for C++, Python, Java, Go, Node.js, Ruby and more
  • Bidirectional streaming RPC — Server push and client streaming for real-time communication
  • Resilient communication — Built-in retry, timeout, circuit-breaker, and load-balancing
  • Pluggable authentication — TLS, ALTS, OAuth2, and custom credential providers

Use Cases

💡 Microservice communication: Build low-latency high-throughput internal service call layers
💡 Mobile-backend sync: Efficient real-time data and state update transmission
💡 Cross-language polyglot architectures: Transparent calls between services in different languages
💡 Real-time streaming apps: Bidirectional data streaming for online games and real-time collaboration

Categories

Quick Start

# Install gRPC
pip install grpcio grpcio-tools

# Write .proto service definition
# greeter.proto:
# syntax = "proto3";
# service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} }

# Generate Python code
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. greeter.proto

# Run
python greeter_server.py
python greeter_client.py

Related Projects