Akka
02 / 02

Cluster, Streams, Typed Akka & Where It Fits

Cluster, Streams, Typed Akka & Where It Fits

Akka Cluster & Location Transparency

Akka Cluster lets multiple ActorSystems on different machines form one logical cluster, with actors communicating across node boundaries. Location transparency means the same actor reference and messaging API work whether the target actor is local or remote — calling code doesn't need to know or care.

Akka Streams & HTTP

Akka Streams implements Reactive Streams, providing composable operators with built-in backpressure so a fast producer doesn't overwhelm a slower consumer. Akka HTTP builds on Streams and Actors for HTTP client/server functionality, letting web layers share the same concurrency and streaming foundation as the rest of an Akka application.

Akka Persistence

Stateful actors can persist state via event sourcing — storing a durable, ordered log of events rather than just current state — so an actor's state survives a crash or restart by replaying that log.

Akka Typed

Classic Akka actors accept Any-typed messages, so a mismatch only surfaces at runtime. Akka Typed encodes an actor's accepted message protocol in its type, letting the compiler catch mismatches between what an actor is designed to handle and what's actually sent to it.

Delivery Guarantees & Where Akka Fits

Classic Akka messaging is at-most-once by default — a message can be lost without automatic retry, so applications needing guaranteed delivery build acknowledgment/retry logic or use Akka Persistence on top. Akka fits high-throughput, resilience-demanding domains — trading platforms, real-time bidding, IoT, telecom-adjacent systems — aligning with the Reactive Manifesto's responsive/resilient/elastic/message-driven principles, at the cost of a genuine learning curve shifting from conventional lock-based concurrency to message-passing design.

Keep your own version of these notes — editable, searchable, and organised by your stack.

Start free