A framework for building large-scale event sourced microservices.
Thalo is a framework for creating event driven apps with event sourcing. Some closely related patterns are used, including event sourcing, CQRS, transactional outbox, event driven, DDD.
Core Modules
- Aggregates - Consistency boundary around a domain entity responsible for handling commands and applying events.
- Events - Events that occured in your system.
- Event Store - Event store containing all application events.
- Event Stream - Event stream, such as Kafka/RedPanda.
Official Crates
- thalo - Core framework (this crate).
- thalo-postgres - Postgres implementation of
EventStore. - thalo-inmemory - In-memory implementation of
EventStore. - thalo-kafka - Kafka implementation of
EventStream. - thalo-testing - Test utils for thalo apps.
- thalo-macros - Macros for implementing traits. This can be enabled in the core crate with the
macrosfeature flag.
Current status
Thalo is still under heavy development and is not production ready.
Get in touch
If you'd like to ask/discuss or learn more, you can reach via the liks below:
Examples
Examples can be seen in the examples directory.