In this repo, we have the same Hello World service written in three langaues, Java, Go, and C#. This repo demonstrates how to use the gRPC framework from each language, and how gRPC facilitates cross-language interoperability.
"gRPC is a modern open source high performance RPC framework" - grpc.io
- Polyglot - 10+ languages
- Binary RPC - protobuf
- Standards-based - http/2
- Multiplexed RPC
- Bi-directional streaming
- Strong community ecosystem
- Strong security - mTLS 🔐
- First-class observability 👀 - metrics and tracing built in
- Well defined separation of concerns - interceptors for middleware
- 🔥Works great behind the firewall
- 📱Works great with mobile clients
- 💻Works in the browser
- Add library dependencies
- Write proto service contract
- Generate client and server stubs
- Implement server stub and start server
- Call service with client stub
This repo is divided into three subdirectories, one for each language. There are also a series of git tags you can progress through to see each gRPC example progress one at a time. See the readme in each subdirectory for language specific details.