A Game of Ping Pong with Akka

Being an Erlang developer for few years, Akka gives me very homey feelings. It takes direct inspiration from the Erlang/OTP and Riak Core, and grows into a great library for building concurrent, distrbuted and fault tolerant applications. On top of its core, modules such as Akka streams is developed to serve as a better abstraction for a class of problems over raw actors; Akka HTTP is written to help build Rest APIs, Akka Persistence is added to facilitate writing CQRS systems, among other things.

Few days ago I gave a talk at the Scala Meetup in Gothenburg introducing Akka along with my colleague Ola and Tobias. My talk was structured as a code demo that shows how to start from a simple akka actor based rest api which takes a ping message and respond with a pong message, and gradually build up with fault tolerance, clustering, CQRS, etc.

The source code of the demo session can be found here. It is devided up into the following 5 steps (branches) to facilitate diffing :)

Happy Akka-ing!

Written on October 4, 2016