Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aleksk1ng/go-cqrs-eventsourcing-microservice

Go-CQRS-EventSourcing-Microservice
https://github.com/aleksk1ng/go-cqrs-eventsourcing-microservice

clean-architecture cqrs ddd docker domain-driven-design elasticsearch event-driven event-sourcing eventsourcing go golang grafana grpc jaeger kafka microservices mongodb postgesql prometheus tracing

Last synced: 3 months ago
JSON representation

Go-CQRS-EventSourcing-Microservice

Awesome Lists containing this project

README

        

Go EventSourcing and CQRS with PostgreSQL, Kafka, MongoDB and ElasticSearch 👋✨💫

#### 👨‍💻 Full list what has been used:
[PostgeSQL](https://github.com/jackc/pgx) as event store

[Kafka](https://github.com/segmentio/kafka-go) as messages broker

[gRPC](https://github.com/grpc/grpc-go) Go implementation of gRPC

[Jaeger](https://www.jaegertracing.io/) open source, end-to-end distributed [tracing](https://opentracing.io/)

[Prometheus](https://prometheus.io/) monitoring and alerting

[Grafana](https://grafana.com/) for to compose observability dashboards with everything from Prometheus

[MongoDB](https://github.com/mongodb/mongo-go-driver) Web and API based SMTP testing

[Elasticsearch](https://github.com/elastic/go-elasticsearch) Elasticsearch client for Go.

[Echo](https://github.com/labstack/echo) web framework

[Kibana](https://github.com/labstack/echo) Kibana is user interface that lets you visualize your Elasticsearch

[Migrate](https://github.com/golang-migrate/migrate) for migrations

### Jaeger UI:

http://localhost:16686

### Prometheus UI:

http://localhost:9090

### Grafana UI:

http://localhost:3005

### Kibana UI:

http://localhost:5601/app/home#/

For local development 🙌👨‍💻🚀:

```
make local // for run docker compose
make run_es // run microservice
```
or
```
make develop // run all in docker compose with hot reload
```