Go-EventSourcing-CQRS
EventStore-Client-Go
Go-EventSourcing-CQRS | EventStore-Client-Go | |
---|---|---|
1 | 1 | |
134 | 100 | |
- | 5.0% | |
0.0 | 7.7 | |
about 2 years ago | 5 days ago | |
Go | Go | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Go-EventSourcing-CQRS
-
Go EventSourcing and CQRS microservice using EventStoreDB 👋⚡️💫
Source code you can find in GitHub repository The main idea of this project is the implementation of Event Sourcing and CQRS using Go, EventStoreDB, gRPC, MongoDB and ElasticSearch. Didn't write in this article about Event Sourcing and CQRS patterns, because it makes the article huge and the best place to read is [microservices.io (https://microservices.io/patterns/data/cqrs.html), found this article is very good too, and highly recommend Alexey Zimarev "Hands-on Domain-Driven Design with .NET Core" book and also his blog.
EventStore-Client-Go
-
Go EventSourcing and CQRS microservice using EventStoreDB 👋⚡️💫
In this project we have microservice working with EventStoreDB using oficial go client, for [projections (https://zimarev.com/blog/event-sourcing/projections/) used MongoDB and Elasticsearch for search, and communicate by gRPC and REST. Did not implement here any interesting business logic and didn't cover tests, because don't have enough time, the events list is very simple: create a new order, update shopping cart, pay, submit, cancel, change the delivery address, complete order, and of course in real-world better use more concrete and meaningfully events, but the target here is to show the idea and how it works. Event Sourcing can be implemented in different ways, used here EventStoreDB, but we can do it with PostgreSQL and Kafka for example. After trying both approaches, found EventStoreDB is a better solution because all required features are implemented out of the box, it is optimized and really very good engineers developing it.
What are some alternatives?
EventFlow - Async/await first CQRS+ES and DDD framework for .NET
Echo - High performance, minimalist Go web framework
gotraceui - Go execution trace frontend
eventually-go - Idiomatic Domain-driven Design, CQRS and Event Sourcing for Go
saving-goals-go - Example Event-Sourced microservice using https://github.com/eventually-rs/eventually-go [Moved to: https://github.com/get-eventually/saving-goals-go]
go-todo-app - Go + Angular Todo App, This repository is a todo sample go and angular web project built according to Clean Architecture.
Grafana - The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.