/akka-typed-persistence

Event sourcing for Akka Typed

Primary LanguageScalaApache License 2.0Apache-2.0

Akka Typed Persistence

Gitter chat

Event sourcing for Akka Typed

This library implements actor persistence for Akka Typed with event sourcing. It provides:

  • an actor definition API, which
    • is integrated with Akka Typed,
    • statically type safe,
    • and supports actor persistence (with event sourcing and snapshots);
  • and an implementation of this API
    • based on akka-typed and akka-persistence.

A conference talk introducing the library was presented at Scala By the Bay (slides). For the full code of the example in the talk, see this file.

Motivation

Akka Typed provides a type safe API for defining Akka actors. However, originally it had no solution for actor persistence. The goal of this library was exactly that: integrating Akka Typed and Akka Persistence. (Since then, Akka Typed have been extended to include a persistence API.)

Getting started

This library is currently not published, but you can use it by depending on this git repository in sbt:

dependsOn(ProjectRef(uri("https://github.com/nokia/akka-typed-persistence.git#master"), "persistence"))

For how to use the library, see this example.

Dependencies:

  • Scala 2.11 or 2.12
  • Akka 2.5.4
  • Cats 1.0.0-MF, cats-effect 0.4 and shapeless 2.3.2