go-monolith

command module
v0.49.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2025 License: MIT Imports: 3 Imported by: 0

README

CircleCI codecov Go Report Card Go Reference

Monolith

There has been tremendous amounts of time being spent on creating microservices, though is this the place to start?

It is not a trick question, of course not. It is best to start with a monolith and transition to microservices when needed.

Background

After many years of seeing distributed monoliths. This could potentially be a compromise.

Why a service?

This project allows us to use a mono repository approach to build connected services.

Server

This no different to the other services we are built, they just contain it all together.

API

The api are where we define out protobuf services.

Servers

All the servers are defined in a usual way.

Each of the services talks to each other via a client. As all of this is running through localhost.

Each service is reachable by defining REST endpoints.

Health

The system defines a way to monitor all of it's dependencies.

To configure we just need the have the following configuration:

health:
  duration: 1s (how often to check)
  timeout: 1s (when we should timeout the check)

Other Systems

gRPC-Gateway works in a similar way.

Development

If you would like to contribute, here is how you can get started.

Structure

The project follows the structure in golang-standards/project-layout.

Dependencies

Please make sure that you have the following installed:

Style

This project favours the Uber Go Style Guide

Setup

Check out CI.

Changes

To see what has changed, please have a look at CHANGELOG.md

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL