Published April 2014
Developing an Akka Edge
By Thomas Lockney and Raymond Tay
All examples have been updated to use Akka 2.2.
Akka is an incredible library and framework for writing concurrent applications. The hardest part for a lot of people to understand is that Akka is a toolkit with a number of very powerful tools that can scale up or down from very small tasks to very, very large ones. Understanding how to pick out the smallest bits first and add on what you need, as you need it, is not always so obvious.
This book walks you through the process of developing a simple Akka-based system, starting from a basic use-case and progressing through a series of enhancements, showing you how you can make a very scalable, efficient and flexible system without a significant amount of work. The key is to understand the essential features Akka provides and then see how you can easily extend your code to make use of them.
The goal is to walk you through some simple examples, building up a body of knowledge about the most important features Akka provides. In some cases, the author takes these examples further and builds on them where it makes sense and in other cases he presents short, self-contained examples to highlight particular functionality. The goal is that, in the end, you can take what you learn here and start building your own Akka-based system, leaning on the existing documentation when you need more in-depth information.
This book focuses solely on Akka's Scala API. If you are coming from a background in an object-oriented language such as Java, C#, or Ruby, you should be able to work through a couple short tutorials on Scala and gain enough understanding to follow along. None of the features require an understanding of the deeper details of Scala, so a basic reading-level familiarity should be sufficient.