About this book
This book is intended to introduce experienced developers to reactive applications using the actor model. Readers should be familiar with traditional model-view-controller (MVC) design and have some understanding of its strengths as well its weaknesses. Ideally, readers have seen what happens as traditional MVC design is stretched to its performance and reliability limits and begins to fail.
If you’ve come to realize that building a distributed system that runs reliably in the real world is vastly more difficult than drawing one on a whiteboard, Reactive Application Development is for you. Reactive applications use actors to scale smoothly and handle failure gracefully. Read this book to get started with the actor model, and learn how to work with concurrency by using messages instead of fighting it with threads and locks.
To get the most out of this book, you should have some knowledge of Scala or Java. The examples are written in Scala, with some of the most difficult concepts being explained along the way. Some experience with concurrency concepts such as synchronized methods and multiple threads will be helpful, as will some experience making remote calls to REST services.
This book is written in two parts. The first part consists of three chapters that delve into factors that can prevent your application from taking advantage of the power offered by modern high-performance servers: