Manning Early
Access Program
Reactive Design Patterns

EARLY ACCESS EDITION

Roland Kuhn and Jamie Allen

MEAP Began: March 2014
Softbound print: Fall 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, MEAP CHAPTERS & RESOURCES

Table of Contents         Resources 
PART 1: INTRODUCTION
  1 An Illustrated Example - FREE
  2 Why Reactive - AVAILABLE
  3 Tools of the Trade - AVAILABLE

PART 2: THE PHILOSOPHY IN A NUTSHELL
  4 Message Passing - AVAILABLE
  5 Location Transparency - AVAILABLE
  6 Divide and Conquer - AVAILABLE
  7 Principled Failure Handling - AVAILABLE
  8 Delimited Consistency - AVAILABLE
  9 Non-Determinism by Need - AVAILABLE
10 Message Flow - AVAILABLE

PART 3: PATTERNS
11 Testing Reactive Applications - AVAILABLE
12 Fault Tolerance Patterns
13 Resource Management Patterns
14 Message Flow Patterns
15 Flow Control Patterns
16 Persistence Patterns
17 Patterns for Writing Actors

DESCRIPTION

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 which focus on decoupling their internal components by defining programming interfaces, reactive applications go one step further and decouple their components also at runtime. This makes it possible to react effectively and efficiently to failures, varying user demands, and changes in the application's execution environment. The resulting systems are highly concurrent and fault-tolerant, with minimal dependencies among individual system components. This is achieved by blending the use of message-passing concurrency between distributed computational units with the robustness of functional programming techniques within them.

Reactive Design Patterns is a clearly-written guide for building message-driven distributed systems that are resilient, responsive, and elastic. 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 will 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.

WHAT'S INSIDE

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.

ABOUT THE AUTHORS

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."

ABOUT THE EARLY ACCESS VERSION

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.

WANT TO LEARN MORE?

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