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 Reactive Streams API


Before we jump into the design of the Akka Streams API, it's important for us to take a quick look at the Reactive Streams API, which is where Akka Streams gets its roots. The Reactive Streams API started out as an effort to design a standardized way of handling asynchronous stream processing with nonblocking back-pressure. Their main focus was to build a nonblocking, event-driven API, and therefore making it reactive, to govern the interchange of streaming data across asynchronous processing stages or boundaries.

The Reactive Streams group is made up of contributors from companies such as Twitter and Netflix, and includes the team from Akka too. They set out to define a very low-level API that can serve as the foundation for other streaming APIs, such as Akka Streams, to be built on top of. The Java API was designed as a mechanism to process a potentially unbounded number of elements in sequence, asynchronously passing elements between components-with...