Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
saving-goals-go
Discontinued Example Event-Sourced microservice using https://github.com/eventually-rs/eventually-go [Moved to: https://github.com/get-eventually/saving-goals-go]
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
After working on eventually-rs for Rust for quite some time, I've decided to take a look at the Go landscape for Event Sourcing libraries, and found nothing that was either feature-full, or not using unnecessarily complex API.
I've also created a very-close-to-be-production-ready service implementation to showcase the library!
I took some inspiration from goengine (regarding Aggregates) and expanded on that, and now the library supports quite a number of features, such as: * Subscriptions * In-memory and PostgreSQL-based Event Store implementation (inspired by eventually-rs) * Command handling * Projections (both for long-running processes -- a.k.a. Process Managers -- and Read Models) * Correlation extension * Opentracing extension * Descriptive test scenarios support for TDD
A friend of mine has been working on an ES project with idiomatic Go using zero dependencies: hallgren/eventsourcing. If you want something lightweight with an open and flexible API I recommend you check it out. It uses submodules to support different persistance methods, e.g. in-memory or SQL.