March 16–17, 2015: Training
March 17–19, 2015: Conference
Boston, MA

Reactive Systems: The Why and the What

Dean Wampler (Lightbend)
10:45am–12:15pm Thursday, 03/19/2015
Reactive and its variants
Location: 302
Tags: reactive
Average rating: ****.
(4.12, 25 ratings)
Slides:   1-PDF 

Prerequisite Knowledge

This is a talk for developers and architects. No prior experience with reactive programming concepts or systems will be assumed.

Description

Most Internet and Enterprise systems require N-9s availability, for N >= 5. These systems often have tight responsiveness requirements, too. Meeting such requirements isn’t a new problem, but the requirements have grown tighter and more pervasive over time. Even systems with relatively modest requirements can benefit from the techniques used in such systems.

The Reactive Manifesto was created by several leaders in the fields of distributed systems and high-performance computing to codify several core traits that are universally essential for such Reactive systems. The Manifesto has been refined since it was introduced, in response to feedback from many people.

The traits are the following:

  • Responsive: Response times for requests are consistent, satisfying quality of service requirements. Implicit in this trait is the need to recover from errors in a timely manner.
  • Resilient: The system stays responsive in the presence of failure.
  • Elastic: The system stays responsive under various workloads.
  • Message Driven: The system components communicate through messages, which promotes optimal resource utilization (no blocking threads) and decoupling of components for better resiliency.

I’ll describe how the four traits impact system architectures, without being overly prescriptive.
None of them is new, but many systems that claim to be reactive fall short in one or more of these areas.

We’ll examine several representative examples to understand how the traits are realized in practice.

Photo of Dean Wampler

Dean Wampler

Lightbend

Dean Wampler, Ph.D., is the Architect for Big Data Products and Services for Typesafe. He builds scalable, distributed applications using Spark, Hadoop, Mesos, Scala, and the Typesafe Reactive Platform. He is the author of several books for O’Reilly on Scala, Hive, and Functional Programming. Dean is a contributor to several open source projects and he co-organizes several technology conferences and Chicago-based user groups. Follow Dean on Twitter @deanwampler.