Book Description
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.