Akka solves the big problems of distributed systems, from multithreading and concurrency to scalability and failure. Learn how to use it effectively.
In Akka in Action, Second Edition you will learn how
Akka in Action, Second Edition teaches you to use Akka Typed to solve common problems of distributed systems. You’ll learn how to bring together all of Akka’s moving parts to design and implement highly scalable and maintainable software. Extensively revised by Akka contributor Francisco López-Sancho Abraham, this new edition demonstrates Akka’s complex concepts through engaging hands-on examples. Discover the power of the Actor Model, how Akka works with Kubernetes, and how to utilize Akka modules to create microservices that are reliable and fault tolerant.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
For large software systems, the action is in the “-ilities.” Scalability. Reliability. Maintainability. Capability. Akka, toolkit for building distributed message-driven applications, delivers on the “ilities.” And recent innovations, including Akka Typed, ensure that this amazing platform will remain the best way to build and deploy distributed Java and Scala applications for years to come.
About the book
Akka in Action, Second Edition is your guide to building message-centric distributed applications systems. This new edition covers all features of Akka, including Akka Typed. You’ll learn to create microservices using Akka’s powerful suite of tools, Akka Sharding, Persistence, Streams, Persistence Query, Projections, and gRPC. Practical examples taken directly from industry guide you through clustering, deploying to Kubernetes, and taking full advantage of Akka’s Actors-based approach to concurrency.
What's inside
About the reader
For readers comfortable with Java and Scala.
About the author
Francisco Lopez Sancho-Abraham is a senior consultant at Lightbend, and a principal engineer on the Akka Team. Raymond Roestenburg , Rob Bakker , and Rob Williams are the authors of the first edition of Akka in Action .
Table of Contents
1 Introducing Akka 2 Up and running 3 One actor is no actor 4 Akka test kit 5 Fault tolerance 6 Discovery and routing 7 Configuration 8 Clustering 9 Sharding and persistence 10 Streams, persistence queries, and projections 11 Akka ports 12 Real-world An Akka betting house 13 Clustering, part 2 14 Connecting to systems with Alpakka 15 Akka betting house, part 2 16 Akka Streams, part 2
I like to manage expectations first in my reviews, so let's start with what this book requires: I would say it is for intermediate Java/Scala (JVM) developers with two to three years of experience. It is also expected that you are familiar with object-oriented programming (OOP) and that you are ideally also aware of the principles of functional programming as well. Knowledge of threads/concurrency would be a bonus but not required, as this is exactly what this book is about; building distributed systems. Akka is a toolkit for building distributed message-driven applications and helps you tackle the challenges related to building scalable, reliable, maintainable, and capable systems by design.
While the Scala (functional) syntax might seem a bit daunting if you mostly worked in object-oriented Java projects, the book manages to guide you pretty well. It starts by introducing Akka actors and what problems they can solve for you and then shows you some 1-1 examples before moving on to 1-N and N-N examples. It then moves over quickly to unit testing and monitoring, which is great to have around early in the book. After touching on the receptionist and routers, it moves on to clustering, sharding and persistence, gradually increasing the project maturity. From there it moves to Akka Streams and (HTTP/gRPC) servers, after which everything is put together in a real-world example. The chapters that follow dive deeper into (Kubernetes) deployment, Alpakka, Kafka, files and databases. These chapters really help to put your knowledge into practice after reading the book.
I would say that this book is (still) the go-to reference guide on Akka in 2023, not just because it learns you how to use it in the real world, but also because of the rockstar team behind the book. If you are interested in building distributed message-driven applications on the JVM, read this!
This book offers the reader an incredible way to learn from the basics to advanced topics using Akka. In my case, it was amazing because I wrote a book about Scala, which is the language that uses Akka behind the scenes, so I learned some complex structures and things by reading this book.
Akka is an amazing library for writing distributed applications and one of my favourite things to work with. The book by Francisco covers everything you need to get up and running with akka in a clear and concise way.