👋
Golang Kafka gRPC MongoDB microservice example 👨💻 Full list what has been used:
- Kafka - Kafka library in Go
- gRPC - gRPC
- echo - Web framework
- viper - Go configuration with fangs
- go-redis - Type-safe Redis client for Golang
- zap - Logger
- validator - Go Struct and Field validation
- swag - Swagger
- CompileDaemon - Compile daemon for Go
- Docker - Docker
- Prometheus - Prometheus
- Grafana - Grafana
- Jaeger - Jaeger tracing
- MongoDB - The Go driver for MongoDB
- retry-go - Simple golang library for retry mechanism
- kafdrop - Kafka Web UI
Jaeger UI:
Prometheus UI:
Grafana UI:
Kafka UI:
Swagger UI:
https://localhost:5007/swagger/index.html
For local development:
make local // runs docker-compose.local.yml
make crate_topics // create kafka topics
make mongo // load js init script to mongo docker container
make cert // generate local SLL certificates
make swagger // generate swagger documentation