nvkhuy/go-micro-stack — explained in plain English
Analysis updated 2026-05-18
Study a working example of event driven microservices built in Go.
See how an API gateway, message broker, and database fit together in production.
Learn how to wire up Grafana, Loki, Tempo, and Prometheus for full observability.
Use as a starting template for a new Go microservices project with secrets management.
| nvkhuy/go-micro-stack | 42wim/fabio | 42wim/go-xmpp | |
|---|---|---|---|
| Stars | 0 | — | — |
| Language | Go | Go | Go |
| Last pushed | — | 2018-02-04 | 2020-01-24 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 3/5 | 3/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Docker to run Kafka, Postgres, Redis, Vault, and the full observability stack together.
go-micro-stack is a reference project showing how to build an event driven set of microservices in Go with the kind of infrastructure a real production system would need. Instead of one big application, it is split into small services that talk to each other indirectly through an event log rather than calling one another directly. Requests come in through KrakenD, which acts as the single front door, or API gateway, routing traffic to the right service and passing along tracing information so requests can be followed across the whole system. An order service receives requests to create orders, checks Redis to make sure the same request is not processed twice, saves the order to a PostgreSQL database, and then publishes an event about the new order to Apache Kafka, a message broker that other services can subscribe to. A separate notification service listens for those Kafka events and logs that a notification would be sent. Secrets like database passwords and API keys are kept out of the code and stored in HashiCorp Vault, a dedicated secrets manager, rather than sitting in configuration files. On the observability side, the project wires up the full LGTM stack: Grafana for dashboards, Loki for logs, Tempo for distributed traces, and Prometheus for metrics, all fed through the OpenTelemetry collector so every service's traces, metrics, and logs end up visualized in one place. Each piece of infrastructure uses persistent storage rather than memory alone: Kafka topics, the Postgres database, Redis's cache, and Vault's secret store are all written to disk or object storage so data survives a restart. The project includes a full local setup meant to be run end to end with the included configuration files for each component, from the API gateway down to the monitoring stack. This is a Go project intended as a hands-on example of production style microservice patterns rather than a single deployable product.
A reference Go microservices project showing how event driven services, a message queue, and full observability fit together.
Mainly Go. The stack also includes Go, Kafka, PostgreSQL.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.