Reactive Design Patterns is a clearly written guide for building message-driven distributed systems that are resilient, responsive, and elastic. In this book 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. Foreword by Jonas Bonér.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Modern web applications serve potentially vast numbers of users - and they need to keep working as servers fail and new ones come online, users overwhelm limited resources, and information is distributed globally. A Reactive application adjusts to partial failures and varying loads, remaining responsive in an ever-changing distributed environment. The secret is message-driven architecture - and design patterns to organize it.
About the Book
Reactive Design Patterns presents the principles, patterns, and best practices of Reactive application design. You'll learn how to keep one slow component from bogging down others with the Circuit Breaker pattern, how to shepherd a many-staged transaction to completion with the Saga pattern, how to divide datasets by Sharding, and more. You'll even see how to keep your source code readable and the system testable despite many potential interactions and points of failure.
- The definitive guide to the Reactive Manifesto
- Patterns for flow control, delimited consistency, fault tolerance, and much more
- Hard-won lessons about what doesn't work
- Architectures that scale under tremendous load
About the Reader
Most examples use Scala, Java, and Akka. Readers should be familiar with distributed systems.
About the Author
Dr. Roland Kuhn led the Akka team at Lightbend and coauthored the Reactive Manifesto. Brian Hanafee and Jamie Allen are experienced distributed systems architects.
Table of Contents
- PART 1 - INTRODUCTION
- Why Reactive?
- A walk-through of the Reactive Manifesto
- Tools of the trade PART 2 - THE PHILOSOPHY IN A NUTSHELL
- Message passing
- Location transparency
- Divide and conquer
- Principled failure handling
- Delimited consistency
- Nondeterminism by need
- Message flow PART 3 - PATTERNS
- Testing reactive applications
- Fault tolerance and recovery patterns
- Replication patterns
- Resource-management patterns
- Message flow patterns
- Flow control patterns
- State management and persistence patterns
|Publisher:||Manning Publications Company|
|Product dimensions:||7.30(w) x 9.10(h) x 1.00(d)|
About the Author
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.
Brian Hanafee is a Principal Systems Architect at a large financial institution, with experience building reliable and secure web-based applications and backing services for millions of customers.
Jamie Allen is the Director of Consulting for Typesafe and author of Effective Akka.