Storm@twitter

Ankit Toshniwal, Siddarth Taneja, Amit K. Shukla, Karthik Ramasamy, Jignesh M. Patel, Sanjeev Kulkarni, Jason Baird Jackson, Krishna Gade, Maosong Fu, Jake Donham,

2014 · 858 citations · 11 references

Concepts

TL;DR

Storm is a real‑time, fault‑tolerant, distributed stream‑processing system used at Twitter to run critical computations at scale in real time. The paper describes how Twitter uses Storm, its architecture, and operational experiences with distributed scale‑out and fault‑tolerance. The architecture employs distributed scale‑out and fault‑tolerance mechanisms that execute topologies, enabling real‑time processing at Twitter. Empirical evaluation shows Storm’s resilience to machine failures, and the authors outline ongoing development and future directions.

Abstract

This paper describes the use of Storm at Twitter. Storm is a real-time fault-tolerant and distributed stream data processing system. Storm is currently being used to run various critical computations in Twitter at scale, and in real-time. This paper describes the architecture of Storm and its methods for distributed scale-out and fault-tolerance. This paper also describes how queries (aka. topologies) are executed in Storm, and presents some operational stories based on running Storm at Twitter. We also present results from an empirical evaluation demonstrating the resilience of Storm in dealing with machine failures. Storm is under active development at Twitter and we also present some potential directions for future work.

References

11