Skip to content

feuyeux/hello-grpc

Repository files navigation

Hello gRPC

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. Language gRPC Library Recommended IDE
1 C++ gRPC CLion
2 Rust Tonic RustRover
3 Java gRPC-Java IntelliJ IDEA
4 Go gRPC-Go GoLand
5 C# gRPC-dotnet Rider
6 Python grpcio PyCharm
7 Node.js @grpc/grpc-js WebStorm
8 TypeScript gRPC-js WebStorm
9 Dart grpc-dart PyCharm
10 Kotlin gRPC-Kotlin IntelliJ IDEA
11 Swift gRPC-Swift Xcode
12 PHP gRPC-PHP PhpStorm

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

Language Headers TLS Proxy Docker Build System Unit Testing Logging
Java ✅ mTLS Maven JUnit 5 Log4j2
Go ✅ mTLS Go Modules Go Testing Logrus
Node.js ✅ TLS npm Mocha Winston
TypeScript ✅ TLS Yarn & TSC Jest Winston
Python ✅ mTLS pip unittest logging
Rust ✅ mTLS Cargo Rust Test log4rs
C++ ✅ mTLS Bazel/CMake Catch2 glog
C# ✅ mTLS NuGet NUnit log4net
Kotlin ✅ mTLS Gradle JUnit 5 Log4j2
Swift ✅ TLS SPM Swift Testing swift-log
Dart ✅ TLS Pub Test Logger
PHP ✅ mTLS Composer PHPUnit Monolog

Project Statistics

Star History Chart

About

Demonstrate gRPC examples in 12 programming languages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •