Book Image

Storm Blueprints: Patterns for Distributed Real-time Computation

Book Image

Storm Blueprints: Patterns for Distributed Real-time Computation

Overview of this book

Table of Contents (17 chapters)
Storm Blueprints: Patterns for Distributed Real-time Computation
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Motivating a Lambda architecture


First, from a logical perspective, let's take a look at the Storm-Druid integration. Storm, and more specifically Trident, is able to perform distributed analytics because it isolates state transitions. To do this, Storm makes certain assumptions about the underlying persistence mechanisms for state. Storm assumes that the persistence mechanism is both consistent and available. Specifically, Storm assumes that once a state transition is made, that new state is shared, consistent across all nodes, and immediately available.

From the CAP theorem, we know that it is difficult for any distributed system to provide all three of the following guarantees simultaneously:

  • Consistency: The state is the same across all nodes

  • Availability: The system can respond to a query with either success or failure

  • Partition Tolerance: The system continues to respond despite loss of communication or partial system failure

More and more, web-scale architectures integrate persistence...