Reactive Programming with Scala and Akka

ISBN 13: 9781783984343

Reactive Programming with Scala and Akka

3 avg rating
( 4 ratings by Goodreads )
9781783984343: Reactive Programming with Scala and Akka
View all copies of this ISBN edition:

Harness reactive programming to build scalable and fault tolerant distributed systems using Scala and Akka

About This Book

  • Use the concepts of reactive programming to build distributed systems running on multiple nodes
  • Get to grips with the full range of Akka features including the upcoming and cutting edge experimental modules
  • A comprehensive coverage of the principles of FRP with real-world use cases to solve scalability issues

Who This Book Is For

If you are a developer who is passionate about building fault-tolerant, scalable distributed applications using Scala and Akka, then this book will give you a jump start. You should be familiar with Scala, but no prior knowledge of Akka and reactive programming is required.

What You Will Learn

  • Explore functional programming using Scala
  • Design an asynchronous, non-blocking shopping cart application using Futures
  • Understand the Akka actor model and the relationship between actors and threads
  • Use the Actor Supervision feature to build a fault tolerant and resilient application
  • Create your own distributed system framework using an Akka cluster
  • Take a look under the hood to gain perspective on the Akka engine
  • See a comprehensive case study of a key value store with concurrent reads and writes
  • Model a finite state machine using state-driven actors

In Detail

Today's web-based applications need to scale quickly to tackle the demands of modern users. Reactive programming is the solution developed to ensure the fault tolerant and robust scaling that is essential for professional applications. Reactive programming in Scala and Akka provides a great platform to develop low latency resilient, concurrent Internet scale applications on the Java Virtual Machine.

This comprehensive guide will help you get to grips with the concepts of reactive programming in order to build a robust distributed system in Scala and Akka. Written in two parts, you will first take a walkthrough of the reactive, asynchronous, and functional concepts in Scala before focusing on Akka and getting to grips with the details of real-world use cases.

Begin with an introduction into functional reactive programming, before moving on to writing asynchronous application with non-blocking constructs in Scala. Get familiar with the concept of actor-based concurrency using Akka, and features such as Akka remoting, routing, and persistence capabilities to build distributed applications. Learn to scale applications using a multi-node Akka cluster and unit test Akka actors and get to grips with state machines and how to implement state-driven actors using Akka. Finally, put your skills to the test with a case study where you will concurrently and asynchronously store and retrieve data from a key value store. By progressively working through the Akka concepts, you will not only be able to write your own distributed system, but also appreciate the hidden complexity within the Akka ecosystem.

"synopsis" may belong to another edition of this title.

About the Author:

Prasanna Kumar Sathyanarayanan

Prasanna Kumar Sathyanarayanan is a Scala and distributed systems enthusiast living in Bangalore and has more than 10 years of experience. In his daily job, he designs and writes concurrent code with Scala and Akka to implement big data systems. He is a BTech graduate from Anna University. His interests include distributed systems, data engineering, functional programming, and machine learning. Prasanna likes to contribute to open source projects. In his leisure time, he likes long rides on his bicycle and nature photography. He posts blogs at

Suraj Atreya

Suraj Atreya holds a master's degree in computer science from the University of Edinburgh and has more than 7 years of industry experience. He has written software ranging from low-level 8-bit wireless sensor networks to systems scaling hundreds of nodes within a distributed system environment. Fascinated by the early Pentium-1 computer that his mother presented him, he started learning LOGO and BASIC. Later, he grew up writing C and C++. His interests include functional programming, distributed systems, and designing data pipelines. Suraj currently works for Glassbeam and loves using Scala and Akka for day-to-day data hacking. He has contributed to NeverWinterDP, a piece of open source data pipeline software. He text-mines in his free time and experiments with Haskell. He writes blogs at

"About this title" may belong to another edition of this title.

(No Available Copies)

Search Books:

Create a Want

If you know the book but cannot find it on AbeBooks, we can automatically search for it on your behalf as new inventory is added. If it is added to AbeBooks by one of our member booksellers, we will notify you!

Create a Want