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 refactored bookstore code


So, we have now completed the remodeling effort to get our anemic model into something more rich and more in line with the building blocks of a good DDD. Now, it's time to dive into the code implementation a little, so that you can understand how the code was written to support this model. If you look at the chapter3 code folder from the code distribution, you will notice that at the top level, it's divided into two root folders: bookstore-app-incomplete and bookstore-app-complete. The folder marked as incomplete will be the one that I will be referencing the code from. It will also be the place where you will do some homework to complete the refactor later in the chapter. The folder marked as complete will be used by you to compare your homework results against my fully completed refactor.

The EntityActor abstract class

The EntityActor abstract class defines the behaviors for our DDD entity actor classes. It's modeled as an FSM, where each of the...