Preface
Reactive Application Development is the new frontier of software development. As the prevalence of connected devices has increased, so has the amount of data available. Older techniques for processing that data in a single-threaded batch simply can’t hold up under the demands presented by this new world. Big data is on the rise and we need new tools and new techniques to deal with it.
Often, the solution to modern problems doesn’t come from the present, but rather from the past. Many of today’s new tools for processing big data are in fact based on the older concept of actors. Actors are the key concept from which Akka was built, but it has its roots in the past. It isn’t a new concept; rather, it’s an old one brought to light in the modern world.
As we set forth to explore Akka, actors, streams, and all the other things associated with them, we will be approaching them from the perspective of a real-world concern: the problem of how to schedule a group of people across a variety of projects while optimizing both for the time they have available, as well as their skill sets. This is a complex problem, not one easily solved in an afternoon. But it is an interesting issue that provides a lot of room for depth. It is also a problem that most software developers will be involved with at some point during their career. We will refer back to this problem throughout our exploration of Akka.
But before we get to solving the problems of our domain, we have to first understand the ...