Hello gRPC

November 20, 2025 · View on GitHub

Comprehensive gRPC examples and tutorials across 12+ programming languages

Learn gRPC with comprehensive tutorials, examples, and best practices for Java, Go, Python, Node.js, Rust, C++, C#, Kotlin, Swift, Dart, PHP, and TypeScript


A comprehensive collection of gRPC examples and tutorials covering microservices, distributed systems, and modern API development across multiple programming languages.

GitHub stars GitHub forks GitHub issues GitHub license Docker Pulls

This repository demonstrates gRPC implementations across 12+ programming languages, featuring production-ready examples with Docker containers, Kubernetes deployment configurations, and service mesh integration patterns.

Supported Programming Languages & Frameworks

Complete gRPC implementations with identical functionality across all major programming languages:

No.LanguagegRPC LibraryRecommended IDE
1C++gRPCCLion
2RustTonicRustRover
3JavagRPC-JavaIntelliJ IDEA
4GogRPC-GoGoLand
5C#gRPC-dotnetRider
6PythongrpcioPyCharm
7Node.js@grpc/grpc-jsWebStorm
8TypeScriptgRPC-jsWebStorm
9Dartgrpc-dartPyCharm
10KotlingRPC-KotlinIntelliJ IDEA
11SwiftgRPC-SwiftXcode
12PHPgRPC-PHPPhpStorm

gRPC Architecture & Communication Patterns

gRPC Architecture Diagram

Communication Models

  1. Unary RPC - Simple request-response (like HTTP REST)
  2. Server Streaming - One request, multiple responses
  3. Client Streaming - Multiple requests, one response
  4. Bidirectional Streaming - Both sides send multiple messages independently

Architecture Patterns

  • Microservices - Service-to-service communication
  • API Gateway - HTTP/REST to gRPC transcoding
  • Load Balancing - Client-side and server-side strategies
  • Service Discovery - Consul, etcd, Kubernetes DNS integration
  • Resilience - Circuit breakers, retries, fault tolerance

Feature Implementation Status

Implementation Matrix

LanguageHeadersTLSProxyDockerBuild SystemUnit TestingLogging
Java✅ mTLSMavenJUnit 5Log4j2
Go✅ mTLSGo ModulesGo TestingLogrus
Node.js✅ TLSnpmMochaWinston
TypeScript✅ TLSYarn & TSCJestWinston
Python✅ mTLSpipunittestlogging
Rust✅ mTLSCargoRust Testlog4rs
C++✅ mTLSBazel/CMakeCatch2glog
C#✅ mTLSNuGetNUnitlog4net
Kotlin✅ mTLSGradleJUnit 5Log4j2
Swift✅ TLSSPMSwift Testingswift-log
Dart✅ TLSPubTestLogger
PHP✅ mTLSComposerPHPUnitMonolog

Project Statistics

Star History Chart