Mastering Akka
by: Christian Baxter
ISBN-10: 1786465027
ISBN-13: 9781786465023
Released: 2016-10-21
Pages: 436
Book Description
More Information
Learn
Use Akka actors to enable parallel execution
Build out domain-driven design based components like entities and aggregates
Respond to command requests on that aggregate root that affect the internal state
Leverage Akka Persistence,protobuf and Cassandra to save the persistent state of you entities
Build out complex processing graphs with the Graph Builder DSL
Understand the dynamic push/pull nature of backpressure handling within Akka Streams
Route HTTP requests to an actor and return a response
Deploy actor instances across a set of nodes via ConductR for high availability
About
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.
Features
This book will help you cure anemic models with domain-driven design
We cover major Akka programming concepts such as concurrency,scalability,and reactivity
You will learn concepts like Event Sourcing and CQRS via Akka Persistence,Akka Streams,Akka Http as well as Akka Clustering
contents
1 Building a Better Reactive App
2 Simplifying Concurrent Programming with Actors
3 Curing Anemic Models with Domain-Driven Design
4 Making History with Event Sourcing
5 Separating Concerns with CQRS
6 Going with the Flow with Akka Streams
7 REST Easy with Akka HTTP
8 Scaling Out with Akka Remoting/Clustering
9 Managing Deployments with ConductR
10 Troubleshooting and Best Practices