A production-grade microservices orchestrator built with Go and React, focusing on Observability, Resilience, and Traceability.
- Centralized Logging (MDC-style): Context-aware logging using
slog(automatically enriches logs withcorrelation_idanduser_id). - Distributed Tracing: OpenTelemetry integration with Jaeger support.
- Metrics: Prometheus metrics endpoint (
/metrics) with custom vectors. - Resilience: Circuit Breakers, Retries, and Timeouts for all downstream calls.
- Docker Ready:
docker-composesetup for the entire stack. - Kubernetes Native: Helm charts for deployment on any cluster.
- Go 1.23+
- Docker & Docker Compose
- Kind (for local Kubernetes)
docker-compose up --buildThe API will be available at http://localhost:8080.
- Start the simulator:
go run cmd/simulator/main.go - Start the server:
go run cmd/server/main.go
- Prometheus:
http://localhost:9090 - Jaeger UI:
http://localhost:16686 - Metrics:
http://localhost:8080/metrics
The service follows a clean architecture pattern:
internal/api: HTTP Handlersinternal/orchestration: Core Decision Logicinternal/clients: Downstream microservice clientsinternal/middleware: Resilience and Observability layers
Deploy to a local Kind cluster:
kind create cluster --config kind-config.yaml
helm install orchestrator ./charts/orchestratorMIT