Persistent Actor State

This lecture treats the storage of persistent state for Actors. It starts out from a comparison between in-place updates and an append-only event log (event-sourcing). In particular we cover:

  • the performance characteristics of these options
  • how snapshots can be used to shorten recovery times for event-sourcing
  • the tradeoff between throughput and consistency when not waiting for events to be persisted before modifying the Actor state
  • how to implement truly reliable delivery
  • the impossibility of exactly-once delivery in general, but how to implement effectively exactly-once semantics using idempotent operations

We conclude this lecture by discussing when and how to perform non-idempotent external effects from your Actors.

Hosting of the video
sponsored by