Skip to content

A Golang starter for developing microservices using Grpc + Skaffold + Kubernetes + Nats + Echo

License

Notifications You must be signed in to change notification settings

adityak368/go-microservice-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-Microservice-Starter

Go-Microservice-Starter is a starter project for developing microservices in GO using Micro + Echo + Nats + Kubernetes + Skaffold + Docker + Nginx

Use of Micro provides easy switch of Broker from Nats to Kafka, RabbitMQ etc. Similarly Echo can be switched to Gin

Setup

  • install skaffold
  • install kubernetes/minikube
  • install Docker
  • install MongoDB
  • install Nats

It containerizes the services and runs it in kubernetes. It creates a http application server and an internal grpc server.

  • Each service has a http application server and 4 microservice components
    • GRPC Clients
    • GRPC Handlers
    • Publishers
    • Subscribers

Also possible to use Nginx as a reverse proxy using

    nginx -c nginx.dev.conf
    nginx -c nginx.prod.conf

Dev Mode

Watches code changes, containerizes and deploys the service to kubernetes cluster

    skaffold dev

Prod Mode

Builds the release build of the service and deploys the service to kubernetes cluster

    skaffold run

About

A Golang starter for developing microservices using Grpc + Skaffold + Kubernetes + Nats + Echo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published