Crates.io | eventually-redis |
lib.rs | eventually-redis |
version | 0.1.0 |
source | src |
created_at | 2020-10-26 22:01:24.325797 |
updated_at | 2020-10-26 22:01:24.325797 |
description | Event Store implementation using Redis, for Eventually crate |
homepage | |
repository | https://github.com/ar3s3ru/eventually-rs |
max_upload_size | |
id | 305758 |
size | 23,998 |
Collection of traits and other utilities to help you build your Event-sourced applications in Rust.
Before diving into the crate's internals, you may be wondering what Event Sourcing is.
From eventstore.com introduction:
Event Sourcing is an architectural pattern that is gaining popularity as a method for building modern systems. Unlike traditional databases which only store and update the current state of data, event-sourced systems store all changes as an immutable series of events in the order that they occurred and current state is derived from that event log.
eventually
support Event Sourcing?eventually
exposes all the necessary abstraction to model your
Domain Entities (in lingo, Aggregates) using Domain Events, and
to save these Events using an Event Store (the append-only event log).
For more information, check out the crate documentation.
You can also take a look at eventually-app-example
,
showcasing an example event-sourced microservice using HTTP transport layer.
All other questions are more than welcome on our Gitter chat.
Add eventually
into your project dependencies:
[dependencies]
eventually = { version = "0.4.0", features = ["full"] }
eventually
provides the necessary abstractions for modeling and interacting
with an Event Store.
These are the following officially-supported backend implementations:
eventually::inmemory::EventStore
: simple inmemory Event Store implementation, using std::collections::HashMap
,eventually-postgres
: Event Store implementation for PostgreSQL databases,eventually-redis
: Event Store implementation for Redis stores.This library is actively being developed, and prior to v1
release the following Semantic versioning
is being adopted:
MINOR
releasePATCH
releaseThis project is licensed under the MIT license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in eventually-rs
by you, shall be licensed as MIT, without any additional terms or conditions.