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

The refactored sales order processing module


As with Chapter 3, Curing Anemic Models with Domain-Driven Design, I have already completed the sales order processing module's refactor within the -incomplete bookstore app code base. I won't share all of the code for it here as it follows the same approach that we used for Book. If you want to see what I did for that module, you can check out the code within the -incomplete code folder.

There are a couple of things to call out within this module though. The first one is how the pre-create validation works for the creation of a new SalesOrder. In Chapter 2, Simplifying Concurrent Programming with Actors, we refactored the creation process to use an FSM. In Chapter 3, Curing Anemic Models with Domain-Driven Design, we plugged those FSM steps into the new entity logic as part of the creating state. I was able to do this because I wrote the state handling logic for the base-entity actor code. So, I was able to write it in such a way that I could...