Go Micro Boilerplate

screenshot of Go Micro Boilerplate

The boilerplate of the GoLang application with a clear microservices architecture.

Overview:

Go Micro Boilerplate is an example of a GoLang project based on microservices architecture. It provides simple functionality for performing CRUD operations related to the user entity. The project consists of two microservices - a web service that exposes REST API and an RPC microservice that handles the business logic. When a user sends an HTTP request to the web service, it prepares the data and calls the RPC service using protobuf models. The RPC service applies the business logic and updates/reads the data store.

Features:

  • Microservices architecture with separate web service and RPC microservice.
  • Go Micro framework for distributed systems development, including RPC and event driven communication.
  • NATS as a discovery service, message broker, and transport channel.
  • Dockerized services with docker-compose configuration.
  • Go modules for managing project dependencies.
  • Swagger for defining the REST API.
  • Protobufs as part of the toolchain for message serialization.
  • Bash scripts for code generation and other tasks.

Summary:

Go Micro Boilerplate is a GoLang project that showcases the implementation of microservices architecture. It provides functionality for performing CRUD operations on user entities and consists of a web service and an RPC microservice. The project utilizes technologies like Go Micro framework, NATS, Docker, Go modules, Swagger, and Protobufs. Through the provided installation guide, users can easily set up and run the project locally.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.