Book Image

Mastering Akka

By : Christian Baxter
Book Image

Mastering Akka

By: Christian Baxter

Overview of this book

For a programmer, writing multi-threaded applications is critical as it is important to break large tasks into smaller ones and run them simultaneously. Akka is a distributed computing toolkit that uses the abstraction of the Actor model, enabling developers to build correct, concurrent, and distributed applications using Java and Scala with ease. The book begins with a quick introduction that simplifies concurrent programming with actors. We then proceed to master all aspects of domain-driven design. We’ll teach you how to scale out with Akka Remoting/Clustering. Finally, we introduce Conductr as a means to deploy to and manage microservices across a cluster.
Table of Contents (17 chapters)
Mastering Akka
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface

Understanding the actor model's origin


If you had never bumped into the actor model concept before using it within Akka, it would be easy to think that the Akka team created this programming paradigm themselves, but that's not at all true. In fact, the origins of the actor model idea itself can be traced back to a 1973 publication by Carl Hewitt, Peter Bishop, and Richard Steiger titled A Universal Modular Actor Formalism for Artificial Intelligence.

After that publication, things were a bit quiet on the actor model front until Erlang came onto the scene in 1986. The Erlang language was developed by a team within Ericsson, a Swedish telecom company, as the software backbone of their telecommunication network. The language was designed to be highly scalable, with distributed programming and concurrency as the enablers of that scalability. Erlang adopted the actor model as the foundation for both concurrent programming and distributed programming (via message passing) within the language.

The...