Skip to content

Hello World service written in three langaues, Java, Go, and C#

License

Notifications You must be signed in to change notification settings

fubarin/grpc-kata

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gRPC in Go, C#, and Java: A microservices code Kata

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.

What is gRPC

"gRPC is a modern open source high performance RPC framework" - grpc.io

gRPC diagram

Why gRPC?

  • 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

Where does gRPC fit?

  • 🔥Works great behind the firewall
  • 📱Works great with mobile clients
  • 💻Works in the browser

Basic gRPC workflow

  1. Add library dependencies
  2. Write proto service contract
  3. Generate client and server stubs
  4. Implement server stub and start server
  5. Call service with client stub

Building

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.

About

Hello World service written in three langaues, Java, Go, and C#

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 36.1%
  • Java 34.3%
  • Go 24.4%
  • Shell 3.3%
  • Makefile 1.9%