Go-CQRS-EventSourcing-Microservice
goes
Go-CQRS-EventSourcing-Microservice | goes | |
---|---|---|
1 | 3 | |
86 | 122 | |
- | 6.6% | |
0.0 | 8.6 | |
almost 2 years ago | 7 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-CQRS-EventSourcing-Microservice
-
Go EventSourcing and CQRS with PostgreSQL, Kafka, MongoDB and ElasticSearch 👋✨💫
Source code you can find in GitHub repository. The main idea of this project is the implementation of Event Sourcing and CQRS using Go, Postgresql, Kafka for event store and Mongo, ElasticSearch for read projections. Previously have written same articles where implemented the same microservice using Go and EventStoreDB, and Spring, as written before, repeat, think EventStoreDB is the best choice for event sourcing, but in real life at some projects we usually have business restrictions and for example usage of the EventStoreDB can be not allowed, in this case, think postgres and kafka is good alternative for implementing our own event store. If you don't familiar with EventSourcing and CQRS patterns, the best place to read is microservices.io, blog and documentation of eventstore site is very good too, and highly recommend Alexey Zimarev "Hands-on Domain-Driven Design with .NET Core" book.
goes
-
Does a Message Bus implementation using generics exists out there?
I know of one implementation of a bus using generics: goes, but the code is hard to follow, for me at least.
-
goes - CQRS & Event-Sourcing Toolkit
I've experimented a little with generics and put together a small example: https://github.com/modernice/goes/tree/generics/examples/todo
What are some alternatives?
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
nats-by-example - Collection of runnable, reference examples using NATS (https://nats.io)
validator - :100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
mongodb-nats-connector - A connector that uses MongoDB's change streams to capture data changes and publishes those changes to NATS JetStream.
pdash - orders dashboard in microservices architecture
uuid - Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
jaeger - CNCF Jaeger, a Distributed Tracing Platform
nitriding - Tool kit for building networked services on top of AWS Nitro Enclaves.
kafka-go - Kafka library in Go
bunnify - AMQP library to publish and consume events
shop-golang-microservices - Practical microservices based on different software architecture and technologies like Golang, CQRS, Vertical Slice Architecture, Docker, RabbitMQ, OpenTelemetry, Postgresql, ...
light - event system for golang