Akka in Scala is a toolkit and runtime for building highly concurrent, distributed, and fault-tolerant applications on the JVM and is written in Scala, with language bindings provided for both Scala and Java. Akka’s approach to handling concurrency is based on the Actor Model. In an actor-based system, everything is an actor, in much the same way that everything is an object in object-oriented design. A key difference, though – particularly relevant to our discussion – is that the Actor Model was specifically designed and architected to serve as a concurrent model whereas the object-oriented model is not or in other words, in a Scala actor system, actors interact and share information, without any presupposition of sequentiality. The mechanism by which actors share information, and task one another, is message passing.