Akka is a toolkit for building highly concurrent, distributed, and fault-tolerant applications on the JVM. It provides actors as the core abstraction for developing such applications, with actors encapsulating state and behavior and communicating asynchronously by message passing. Akka applications are built around message-driven actors that can send and receive messages, and whose state changes are confined within the actor model. This makes Akka applications inherently scalable, fault-tolerant and self-healing.