/grpc-microservice-example

Go microservice tutorial project using gRPC

Primary LanguageMakefileMIT LicenseMIT

"User Management" gRPC Microservice Example

Introduction

Welcome! 👋

This is an educational repository that includes a small microservice written in Go using gRPC, this is equivalent to the REST Example, however this project is the principal example of my video series: System Design using gRPC with Go.

Join the fun at https://youtube.com/@MarioCarrion.

Prerequisites

  • required Go 1.22, and
  • recommended direnv, to allow all Go-based binaries to be local to this folder and not installed globally. For more details you can refer to this post.

Tools

Make sure the following tools are installed:

  • required Protocol Buffers Compiler, protoc (27.1, version to date):
    • Homebrew: brew install protobuf
    • Alpine 3.17: apk add protobuf-dev protobuf
    • Ubuntu 21.10: apt-get install protobuf-compiler libprotobuf-dev
  • recommended Code Formatting, clang-format, you can use find . -name '*.proto' | xargs clang-format -i
    • Homebrew: brew install clang-format (18.1.8, version to date):
    • Alpine 3.17: apk add clang-extra-tools
    • Ubuntu 21.10: apt-get install clang-format
  • The run make tools or if don't have Makefile copy/paste the go install instructions defined in the Makefile