Actor Model

Summary: A programming model for concurrency in which logic is encapsulated in actors that communicate via asynchronous messages.

Sources: chapter4

Last updated: 2026-04-15


In the Actor Model, logic is encapsulated in actors, each representing a client or entity. Actors have local state that is NOT shared with others.

Characteristics

  • Asynchronous Communication: Actors communicate by sending and receiving asynchronous messages.
  • Message Loss: Message delivery is not guaranteed.
  • Fault Tolerance: Since messages can be lost, the actor model already assumes failure.

Distributed Actor Frameworks

Distributed actor frameworks integrate a message broker and the actor programming model into a single framework. They transparently encode messages into byte sequences for transmission across nodes.

  • Akka: Uses Java’s built-in serialization by default (not recommended for rolling upgrades).
  • Orleans: Uses a custom data encoding format.
  • Erlang/OTP: A foundational language for the actor model with powerful fault-tolerance.