A Java library for Event Sourcing using Kafka

Simple Sourcing is an API for building event sourcing systems where the data is stored in Kafka. Event Sourced systems treat all the data as an immutable sequence of events. It is ideal for microservice architectures at scale to decouple data.

View Documentation Download on GitHub

Easy to get started

Get started by linking the to the library from your code. Follow the Quick Start instructions.

Small clean API

We have put a lot of effort into a very small clean API so it is quick to learn and start using. Read more about the API here

Simple read only views

Simple Sourcing supports many materialized views including MongoDB

Horizontally Scalable

You can run more than one instance of your application and behind the scenes, the command handler and projectors will transparently share the work amongst all the running instances.

Developer Productivity

Spend your development time modeling your business domain and building up useful projections of your data.

Consistent and Reliable

Simple Sourcing uses exactly-once delivery and optimistic locking to guarantee each event only appears once, in the order you expect.