eligosource / eventsourced

A library for building reliable, scalable and distributed event-sourced applications in Scala
Apache License 2.0
828 stars 98 forks source link

Support for asynchronous, incremental snapshot capturing #102

Open volkerstampa opened 11 years ago

volkerstampa commented 11 years ago

Imagine the following scenario:

In this case taking snapshots in a straightforward manner does not lead to consistent recovery as message sent from A to B could be either applied twice or get lost. For consistent recovery the following trick can be applied:

Having library support for this kind of consistent snapshots could relieve a developer from implementing the described process and probably saves a couple of process related custom types.

krasserm commented 11 years ago

Volker, thanks for bringing this up. This is definitely something the snapshotting API should support. I renamed the ticket title a bit because your issue is more related to asynchronous, incremental snapshot capturing. Whether the aggregated snapshot is a consistent snapshot depends on application logic.