Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aleksk1ng/go-kafka-grpc-mongodb-microservice
Go products microservice
https://github.com/aleksk1ng/go-kafka-grpc-mongodb-microservice
clean-architecture docker docker-compose github-actions go golang grafana grpc jaeger kafka microservices mongodb prometheus swagger
Last synced: 3 months ago
JSON representation
Go products microservice
- Host: GitHub
- URL: https://github.com/aleksk1ng/go-kafka-grpc-mongodb-microservice
- Owner: AleksK1NG
- Created: 2021-02-13T15:37:31.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-02-26T15:02:49.000Z (almost 4 years ago)
- Last Synced: 2024-10-12T07:13:45.358Z (3 months ago)
- Topics: clean-architecture, docker, docker-compose, github-actions, go, golang, grafana, grpc, jaeger, kafka, microservices, mongodb, prometheus, swagger
- Language: Go
- Homepage:
- Size: 254 KB
- Stars: 168
- Watchers: 4
- Forks: 54
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Golang Kafka gRPC MongoDB microservice example 👋
#### 👨💻 Full list what has been used:
* [Kafka](https://github.com/segmentio/kafka-go) - Kafka library in Go
* [gRPC](https://grpc.io/) - gRPC
* [echo](https://github.com/labstack/echo) - Web framework
* [viper](https://github.com/spf13/viper) - Go configuration with fangs
* [go-redis](https://github.com/go-redis/redis) - Type-safe Redis client for Golang
* [zap](https://github.com/uber-go/zap) - Logger
* [validator](https://github.com/go-playground/validator) - Go Struct and Field validation
* [swag](https://github.com/swaggo/swag) - Swagger
* [CompileDaemon](https://github.com/githubnemo/CompileDaemon) - Compile daemon for Go
* [Docker](https://www.docker.com/) - Docker
* [Prometheus](https://prometheus.io/) - Prometheus
* [Grafana](https://grafana.com/) - Grafana
* [Jaeger](https://www.jaegertracing.io/) - Jaeger tracing
* [MongoDB](https://github.com/mongodb/mongo-go-driver) - The Go driver for MongoDB
* [retry-go](https://github.com/avast/retry-go) - Simple golang library for retry mechanism
* [kafdrop](https://github.com/obsidiandynamics/kafdrop) - Kafka Web UI### Jaeger UI:
http://localhost:16686
### Prometheus UI:
http://localhost:9090
### Grafana UI:
http://localhost:3000
### Kafka UI:
http://localhost:9000/
### 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
```