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

Refactoring sales order processing


As part of the work in this chapter, I also completed the refactor for the sales order processing module. In doing so, I built out a new read model with a ViewBuilder class and View to support the SalesOrder entity. I will not go over all of that code here, because, for the most part, it's on par with what we just covered for book. I will highlight some of the differences here though. I'll also detail how I redid the inventory allocation process so its not based on Persistence Query and our resumable projection framework.

Denormalization in the SalesOrder read model

One of the benefits of a read model is that you can denormalize the data a bit to better suit some of the queries you need to do. As this model is to be optimized to make queries more efficient, then denormalization is an acceptable practice, even though something like this is frowned upon in the write model, which is less efficient for storage. We took advantage of this ability when building...