Manning Early
Access Program
Reactive Design Patterns


Roland Kuhn and Jamie Allen

MEAP Began: March 2014
Softbound print: Spring 2015 (est.) | 325 pages | B&W
ISBN: 9781617291807

Become a reviewer
Pre-Order options*
Order now and start reading Reactive Design Patterns today through MEAP                   
  MEAP + eBook only - $39.99
  MEAP + Print book (includes eBook) when available - $49.99
* For more information, please see the MEAP FAQs page.
  About MEAP Release Date Estimates     


Table of Contents         Resources 

  1 What is Reactive Programming? - FREE
  2 Tools of the Trade - AVAILABLE
  3 The Philosophy in a Nutshell - AVAILABLE
  4 Testing Reactive Systems—Divide & Conquer
  5 Fault Tolerance
  6 Resource Management
  7 Message Flow Patterns
  8 Flow Control
  9 Patterns for Writing Actors


Modern distributed applications must deliver near-realtime performance while at the same time managing big data and high user loads spread across environments ranging from cloud systems to mobile devices. Unlike traditional enterprise applications that enforce highly-structured pathways for data and procedures, Reactive applications are built around loosely-coupled, asynchronous components that "react" efficiently to events like competition for shared resources, system failures, and user demands. These systems are highly-concurrent and fault-tolerant, with minimal dependencies among individual system components. Because they're designed to use fresh tools like Scala and Akka, they can combine familiar ideas, such as message passing, with new ideas like actor-based concurrency and CQRS, the Command-Query-Responsibility-Segregation data pattern.

Reactive Design Patterns is a clearly-written guide for building event-driven distributed systems that are resilient, responsive, and scalable. In it, you'll find patterns for messaging, flow control, resource management, and concurrency, along with practical issues like test-friendly designs. All patterns include concrete examples using Scala and Akka. In some cases, you'll also see examples in Java, JavaScript, and Erlang. Software engineers and architects will learn patterns that address day-to-day distributed development problems in a fault-tolerant and scalable way. Project leaders and CTOs will gain a deeper understanding of the reactive design philosophy.


The design patterns in this book were collected by the consultants and engineers of Typesafe during thousands of hours spent building enterprise-quality applications using Scala and Akka. Although many reactive patterns can be implemented using standard development tools like Java, others require the capabilities offered by a functional programming language like Scala and an Actor-based concurrency system like Akka.

Readers should be familiar with a standard programming language like Java, C++ or C# and be comfortable with the basics of distributed systems. Although most of the book's examples use the Scala language, no prior experience with Scala or Akka is required.


Dr. Roland Kuhn leads the Akka team at Typesafe. Together with Martin Odersky and Erik Meijer, Roland presented the Coursera course "Principles of Reactive Programming" and co-authored the "Reactive Manifesto." Jamie Allen is the Director of Consulting for Typesafe and author of "Effective Akka."


This Early Access version of Reactive Design Patterns enables you to receive new chapters as they are being written. You can also interact with the authors to ask questions, provide feedback and errata, and help shape the final manuscript on the Author Online forum.


Sign up to read more content when it is released and to receive news about this book.