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.
After many years of seeing distributed monoliths. This could potentially be a compromise.
This project allows us to use a mono repository approach to build connected services.
This no different to the other services we are built, they just contain it all together.
The api are where we define out protobuf services.
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.
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)
gRPC-Gateway works in a similar way.
If you would like to contribute, here is how you can get started.
The project follows the structure in golang-standards/project-layout.
Please make sure that you have the following installed:
This project favours the Uber Go Style Guide
Check out CI.
To see what has changed, please have a look at CHANGELOG.md