FarhadF / micromovies2

RESTful APIGateway with GRPC Microservices example architecture using go-kit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Micromovies2

Micromovies2 is a sample application using Go-Kit and various dependencies, focusing on microservices architecture as well as deployment, monitoring, tracing, logging and stress testing. CockroachDB is used as RDBMS. It's all Go! ecosystem aside from jmeter for stress testing.

Microservices

Micromovies2 is divided into 5 microservices, each having it's purpose. Microservices internal communication is provided by grpc. Client facing communication is using REST API and is provided by APIGateway Service. Here are the services:

  • APIGateway
  • JWTAuth
  • Movies
  • Users
  • Vault

Notable Packages and Systems

  • go-kit
  • httprouter
  • zap
  • opentracing/opentracing-go
  • swagger
  • casbin
  • pgx
  • pflags
  • grpc
  • cockroachdb
  • jaeger
  • prometheus
  • grafana
  • jmeter
  • vgo

Quickstart

  1. git clone https://github.com/farhadf/micromovies2
  2. cd micromovies2
  3. docker-compose up

About

RESTful APIGateway with GRPC Microservices example architecture using go-kit


Languages

Language:Go 96.3%Language:Dockerfile 2.1%Language:Shell 1.7%