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

Differentiating concurrency and parallelism


Concurrency and parallelism are two terms that you hear a lot about now when it comes to programming for multiprocessor machines. While the terms themselves and techniques behind the two are distinctly different, sometimes people will confuse one for the other. Because of this, I think it's important to quickly clear the air on these two terms before moving forward, as I will reference them in various places throughout the rest of the book.

Defining concurrency in computing

If you go and look up the word concurrent in the dictionary, you will see that it's a term that applies some form of competition. I think that's a good place to start when trying to understand how concurrency relates to computing and computer programming.

Back in the old days, when computers only had one CPU, that processor had to be smart about how it scheduled and executed the work that was being requested of it. Imagine you were on your old, single CPU computer and were typing...