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


Akka Streams is an API that is built on top of the Reactive Streams core Java library. This, somewhat, newer API defines its own components, which we will discuss shortly, to represent stream processing versus directly exposing the Reactive Streams API. This library handles all of the complicated concerns of back-pressure, and helps you to better focus on the real problems, such as how you'll process your data.

Being built on top of Reactive Streams, Akka Streams is fully interoperable (pluggable) with any other Reactive Streams compatible library, such as Slick or RxJava. This means that you can easily incorporate data processing steps into your Akka Stream flows that are not themselves built from Akka Streams. The possibilities of building back-pressure-based streams on top of Akka Streams can be endless as more and more Java/Scala libraries start to adopt the Reactive Streams protocol.

Throughout the next few sections, I'll break down the main components from the Akka...