pekko/project
Martin Krasser cdeea924ff akka-persistence prototype
The most prominent changes compared to eventsourced are:

- No central processor and channel registry any more
- Auto-recovery of processors on start and restart (can be disabled)
- Recovery of processor networks doesn't require coordination
- Explicit channel activation not needed any more
- Message sequence numbers generated per processor (no gaps)
- Sender references are journaled along with messages
- Processors can determine their recovery status
- No custom API on extension object, only messages
- Journal created by extension from config, not by application
- Applications only interact with processors and channels via messages
- Internal design prepared for having processor-specific journal actors (for later optimization possibilities)

Further additions and changes during review:

- Allow processor implementation classes to use inherited stash
- Channel support to resolve (potentially invalid) sender references
- Logical intead of physical deletion of messages
- Pinned dispatcher for LevelDB journal
- Processor can handle failures during recovery
- Message renamed to Persistent

This prototype has the following limitations:

- Serialization of persistent messages and their payload via JavaSerializer only (will be configurable later)
- The LevelDB journal implementation based on a LevelDB Java port, not the native LevelDB (will be configurable later)

The following features will be added later using separate tickets:

- Snapshot-based recovery
- Reliable channels
- Journal plugin API
- Optimizations
- ...
2013-09-14 14:19:38 +02:00
..
scripts =pro #3015 Upload dist to S3 downloads.typesafe.com 2013-08-21 14:44:14 +02:00
AkkaBuild.scala akka-persistence prototype 2013-09-14 14:19:38 +02:00
build.properties sbt 0.12.4, see #3479 2013-07-04 13:47:33 +02:00
Dist.scala Release should build and copy javadoc automatically. See #3158 2013-03-18 11:44:54 +01:00
plugins.sbt =pro #3015 Upload dist to S3 downloads.typesafe.com 2013-08-21 14:44:14 +02:00
Protobuf.scala !rem, clu, mul #3154 Upgrade protobuf to 2.5.0 and add an SBT task 2013-09-12 11:20:25 +02:00
Publish.scala Allow akka sbt plugin to be excluded from remote publishing 2013-05-31 11:31:07 +02:00
Release.scala =pro #3015 Upload dist to S3 downloads.typesafe.com 2013-08-21 14:44:14 +02:00
Unidoc.scala Release should build and copy javadoc automatically. See #3158 2013-03-18 11:44:54 +01:00