Akka aims to be the platform for the next-generation, event-driven, scalable, and fault-tolerant architectures on the JVM.
One of the core features of Akka is an implementation of the Actor model. It alleviates the developer from having to deal with explicit locking and thread management. Using the Actor model raises the abstraction level and provides a better platform for building correct concurrent and scalable applications.
Actors in akka:
Simple and high-level abstractions for concurrency and parallelism.
Asynchronous, non-blocking and highly performant event-driven programming model.
Very lightweight event-driven processes
Supervisor hierarchies with "let-it-crash" semantics (parent actor supervising child actors(.
Supervisor hierarchies can span over multiple JVMs to provide truly fault-tolerant systems.
Excellent for writing highly fault-tolerant systems that self-heal and never stop.
Everything in Akka is designed to work in a distributed environment: all interactions between actors use pure message passing and everything is asynchronous.