Master Branch: [![Travis CI](https://travis-ci.org/apache/storm.svg?branch=master)](https://travis-ci.org/apache/storm)

Storm is a distributed realtime computation system. Similar to how Hadoop provides a set of general primitives for doing batch processing, Storm provides a set of general primitives for doing realtime computation. Storm is simple, can be used with any programming language, [is used by many companies](http://storm.apache.org/documentation/Powered-By.html), and is a lot of fun to use!

The [Rationale page](http://storm.apache.org/documentation/Rationale.html) explains what Storm is and why it was built. [This presentation](http://vimeo.com/40972420) is also a good introduction to the project.

Storm has a website at [storm.apache.org](http://storm.apache.org). Follow [@stormprocessor](https://twitter.com/stormprocessor) on Twitter for updates on the project.

## Documentation

Documentation and tutorials can be found on the [Storm website](http://storm.apache.org/documentation/Home.html).

Developers and contributors should also take a look at our [Developer documentation](DEVELOPER.md).


## Getting help

__NOTE:__ The google groups account storm-user@googlegroups.com is now officially deprecated in favor of the Apache-hosted user/dev mailing lists.

### Storm Users
Storm users should send messages and subscribe to [user@storm.apache.org](mailto:user@storm.apache.org).

You can subscribe to this list by sending an email to [user-subscribe@storm.apache.org](mailto:user-subscribe@storm.apache.org). Likewise, you can cancel a subscription by sending an email to [user-unsubscribe@storm.apache.org](mailto:user-unsubscribe@storm.apache.org).

You can also [browse the archives of the storm-user mailing list](http://mail-archives.apache.org/mod_mbox/storm-user/).

### Storm Developers
Storm developers should send messages and subscribe to [dev@storm.apache.org](mailto:dev@storm.apache.org).

You can subscribe to this list by sending an email to [dev-subscribe@storm.apache.org](mailto:dev-subscribe@storm.apache.org). Likewise, you can cancel a subscription by sending an email to [dev-unsubscribe@storm.apache.org](mailto:dev-unsubscribe@storm.apache.org).

You can also [browse the archives of the storm-dev mailing list](http://mail-archives.apache.org/mod_mbox/storm-dev/).

### Which list should I send/subscribe to?
If you are using a pre-built binary distribution of Storm, then chances are you should send questions, comments, storm-related announcements, etc. to [user@storm.apache.org](mailto:user@storm.apache.org).

If you are building storm from source, developing new features, or otherwise hacking storm source code, then [dev@storm.apache.org](mailto:dev@storm.apache.org) is more appropriate.

### What will happen with storm-user@googlegroups.com?
All existing messages will remain archived there, and can be accessed/searched [here](https://groups.google.com/forum/#!forum/storm-user).

New messages sent to storm-user@googlegroups.com will either be rejected/bounced or replied to with a message to direct the email to the appropriate Apache-hosted group.

### IRC
You can also come to the #storm-user room on [freenode](http://freenode.net/). You can usually find a Storm developer there to help you out.

## License

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.


## Project lead

* Nathan Marz ([@nathanmarz](http://twitter.com/nathanmarz))

## Committers

* James Xu ([@xumingming](https://github.com/xumingming))
* Jason Jackson ([@jason_j](http://twitter.com/jason_j))
* Andy Feng ([@anfeng](https://github.com/anfeng))
* Flip Kromer ([@mrflip](https://github.com/mrflip))
* David Lao ([@davidlao2k](https://github.com/davidlao2k))
* P. Taylor Goetz ([@ptgoetz](https://github.com/ptgoetz))
* Derek Dagit ([@d2r](https://github.com/d2r))
* Robert Evans ([@revans2](https://github.com/revans2))
* Michael G. Noll ([@miguno](https://github.com/miguno))
* Kishor Patil ([@kishorvpatil](https://github.com/kishorvpatil))
* Sriharsha Chintalapani([@harshach](https://github.com/harshach))
* Sean Zhong ([@clockfly] (http://github.com/clockfly))
* Kyle Nusbaum ([@knusbaum](https://github.com/knusbaum))
* Parth Brahmbhatt ([@Parth-Brahmbhatt](https://github.com/Parth-Brahmbhatt))
* Jungtaek Lim ([@HeartSaVioR](https://github.com/HeartSaVioR))
* Aaron Dossett ([@dossett](https://github.com/dossett))
* Matthias J. Sax ([@mjsax](https://github.com/mjsax))
* Arun Mahadevan ([@arunmahadevan](https://github.com/arunmahadevan))
* Boyang Jerry Peng ([@jerrypeng](https://github.com/jerrypeng))
* Zhuo Liu ([@zhuoliu](https://github.com/zhuoliu))
* Haohui Mai ([@haohui](https://github.com/haohui))
* Longda Feng ([@longda](https://github.com/longdafeng))
* Xin Wang ([@vesense](https://github.com/vesense))
* Hugo da Cruz Louro ([@hmcl](https://github.com/hmcl))

## Contributors

* Christopher Bertels ([@bakkdoor](http://twitter.com/bakkdoor))
* Michael Montano ([@michaelmontano](http://twitter.com/michaelmontano))
* Dennis Zhuang ([@killme2008](https://github.com/killme2008))
* Trevor Smith ([@trevorsummerssmith](https://github.com/trevorsummerssmith))
* Ben Hughes ([@schleyfox](https://github.com/schleyfox))
* Alexey Kachayev ([@kachayev](https://github.com/kachayev))
* Haitao Yao ([@haitaoyao](https://github.com/haitaoyao))
* Dan Dillinger ([@ddillinger](https://github.com/ddillinger))
* Kang Xiao ([@xiaokang](https://github.com/xiaokang))
* Gabriel Grant ([@gabrielgrant](https://github.com/gabrielgrant))
* Travis Wellman ([@travisfw](https://github.com/travisfw))
* Kasper Madsen ([@KasperMadsen](https://github.com/KasperMadsen))
* Michael Cetrulo ([@git2samus](https://github.com/git2samus))
* Thomas Jack ([@tomo](https://github.com/tomo))
* Nicolas Yzet ([@nicoo](https://github.com/nicoo))
* Fabian Neumann ([@hellp](https://github.com/hellp))
* Soren Macbeth ([@sorenmacbeth](https://github.com/sorenmacbeth))
* Ashley Brown ([@ashleywbrown](https://github.com/ashleywbrown))
* Guanpeng Xu ([@herberteuler](https://github.com/herberteuler))
* Vinod Chandru ([@vinodc](https://github.com/vinodc))
* Martin Kleppmann ([@ept](https://github.com/ept))
* Evan Chan ([@velvia](https://github.com/velvia))
* Sjoerd Mulder ([@sjoerdmulder](https://github.com/sjoerdmulder))
* Yuta Okamoto ([@okapies](https://github.com/okapies))
* Barry Hart ([@barrywhart](https://github.com/barrywhart))
* Sergey Lukjanov ([@Frostman](https://github.com/Frostman))
* Ross Feinstein ([@rnfein](https://github.com/rnfein))
* Junichiro Takagi ([@tjun](https://github.com/tjun))
* Bryan Peterson ([@Lazyshot](https://github.com/Lazyshot))
* Sam Ritchie ([@sritchie](https://github.com/sritchie))
* Stuart Anderson ([@emblem](https://github.com/emblem))
* Lorcan Coyle ([@lorcan](https://github.com/lorcan))
* Andrew Olson ([@noslowerdna](https://github.com/noslowerdna))
* Gavin Li ([@lyogavin](https://github.com/lyogavin))
* Tudor Scurtu ([@tscurtu](https://github.com/tscurtu))
* Homer Strong ([@strongh](https://github.com/strongh))
* Sean Melody ([@srmelody](https://github.com/srmelody))
* Jake Donham ([@jaked](https://github.com/jaked))
* Ankit Toshniwal ([@ankitoshniwal](https://github.com/ankitoshniwal))
* Adam Lewis ([@supercargo](https://github.com/supercargo))
* Alexander Yerenkow ([@yerenkow](https://github.com/yerenkow))
* Brenden Matthews ([@brndnmtthws](https://github.com/brdnmtthws))
* Bryan Baugher ([@bbaugher](https://github.com/bbaugher))
* Danijel Schiavuzzi ([@dschiavu](https://github.com/dschiavu))
* David James ([@xpe](https://github.com/xpe))
* David Losada ([@tuxpiper](https://github.com/tuxpiper))
* Francois Dang Ngoc ([@darthbear](https://github.com/darthbear))
* Gangrui Li ([@davidlgr](https://github.com/davidlgr))
* John Gilmore ([@jsgilmore](https://github.com/jsgilmore))
* Julien Nioche ([@jnioche](https://github.com/jnioche))
* Muneyuki Noguchi ([@mnogu](https://github.com/mnogu))
* Niels Basjes ([@nielsbasjes](https://github.com/nielsbasjes))
* Padma Priya Chitturi ([PadmaCh](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=PadmaCh))
* Prabeesh K ([@prabeesh](https://github.com/prabeesh))
* Sean Zhong ([@clockfly](https://github.com/clockfly))
* Sriharsha Chintalapani ([@harshach](https://github.com/harshach))
* Srinivas Prasad Gumdelli ([@srinivasgumdelli](https://github.com/srinivasgumdelli))
* Steven Phung ([@stphung](https://github.com/stphung))
* Suresh Srinivas ([@sureshms](https://github.com/sureshms))
* thinker0 ([@thinker0](https://github.com/thinker0))
* Troy Ding ([@troyding](https://github.com/troyding))
* Aaron Zimmerman ([@aaronzimmerman](https://github.com/aaronzimmerman))
* Albert Chu ([@chu11](https://github.com/chu11))
* Krystian Nowak ([@krystiannowak](https://github.com/krystiannowak))
* Parth-Brahmbhatt ([@Parth-Brahmbhatt](https://github.com/Parth-Brahmbhatt))
* Adrian Petrescu ([@apetresc](https://github.com/apetresc))
* DashengJu ([@dashengju](https://github.com/dashengju))
* Li Jiahong ([@Gvain](https://github.com/Gvain))
* Aaron Levin ([@aaronlevin](https://github.com/aaronlevin))
* Masatake Iwasaki ([@iwasakims](https://github.com/iwasakims))
* Milad Fatenejad ([@icksa](https://github.com/icksa))
* Ryan Liu ([@shell0dh](https://github.com/shell0dh))
* Dave Parfitt ([@metadave](https://github.com/metadave))
* Jo Liss ([@joliss](https://github.com/joliss))
* averykhoo ([@averykhoo](https://github.com/averykhoo))
* Curtis Allen ([@curtisallen](https://github.com/curtisallen))
* Raghavendra Nandagopal ([@RaghavendraNandagopal](https://github.com/RaghavendraNandagopal))
* Boris Aksenov ([@miofthena](https://github.com/miofthena))
* Itai Frenkel ([@itaifrenkel](https://github.com/itaifrenkel))
* Naresh Kosgi ([@NareshKosgi](https://github.com/NareshKosgi))
* Sean T Allen ([@SeanTAllen](https://github.com/SeanTAllen))
* Gabriel Ciuloaica ([@devsprint](https://github.com/devsprint))
* wurstmeister ([@wurstmeister](https://github.com/wurstmeister))
* Marc Beitchman ([@mbeitchman](https://github.com/mbeitchman))
* Dan Blanchard ([@dan-blanchard](https://github.com/dan-blanchard))
* Mykhailo "Michael" Pershyn ([@pershyn](https://github.com/pershyn))
* Dave Golombek ([@dgolombek](https://github.com/dgolombek))
* Edison Xu ([@EdisonXu](https://github.com/EdisonXu))
* Ariel Valentin ([@arielvalentin](http://blog.arielvalentin.com/))
* Dane Hammer ([@danehammer](https://github.com/danehammer))
* Christophe Carre' ([@chrisz](https://github.com/chrisz))
* Anya Tchernishov ([@anyatch](https://github.com/anyatch))
* Ahmet DAL ([@javrasya](https://github.com/javrasya))
* Kai Sasaki ([@Lewuathe](https://github.com/Lewuathe))
* Matthew Siegel ([@msiegel07](https://github.com/msiegel07))
* Jun Xia ([@tedxia](https://github.com/tedxia))
* caofangkun ([@caofangkun](https://github.com/caofangkun))
* Mansheng Yang ([@lightyang](https://github.com/lightyang))
* Rick Kilgore ([@rick-kilgore](http://github.com/rick-kilgore))
* 周向涛 ([@taojoe](https://github.com/taojoe))
* Gianmarco De Francisci Morales ([@gdfm](https://github.com/gdfm))
* zhangjinlong ([@BuDongDong](https://github.com/BuDongDong))
* Paul DelRe ([@pdelre](https://github.com/pdelre))
* Zhihui Jiao ([@onlychoice](https://github.com/onlychoice))
* Hari Sekhon ([@harisekhon](https://github.com/harisekhon))
* iBuddha ([@iBuddha](https://github.com/iBuddha))
* Dave Katten ([@dkatten](https://github.com/dkatten))
* Mark Davis ([@markdav](https://github.com/markdav))
* jangie ([@jangie](https://github.com/jangie))
* Hailei Zhang ([@Hailei](https://github.com/Hailei))
* Nikhil Singh ([@snikhil5](https://github.com/snikhil5))
* Paul Poulosky ([@ppoulosk](https://github.com/ppoulosk))
* Brendan W. Lyon ([@lyonbrw](https://github.com/lyonbrw))
* Shyam Rajendran ([@bourneagain](https://github.com/bourneagain))
* Reza Farivar ([@rfarivar](https://github.com/rfarivar))
* Hugo Louro ([@hmcl](https://github.com/hmcl))
* Charles Chan ([@charleswhchan](https://github.com/charleswhchan))
* Chuanlei Ni ([@chuanlei](https://github.com/chuanlei))
* Xingyu Su ([@errordaiwa](https://github.com/errordaiwa))
* Adrian Seungjin Lee ([@sweetest](https://github.com/sweetest))
* Randy Gelhausen ([@randerzander](https://github.com/randerzander))
* Gabor Liptak ([@gliptak](https://github.com/glibtak))
* Yvonne Ironberg ([@YvonneIronberg](https://github.com/YvonneIronberg))
* Li Wang ([@wangli1426](https://github.com/wangli1426))
* Rohan Agarwal ([@rohanag12](https://github.com/rohanag12))
* Alex Panov ([@alexpanov](https://github.com/alexpanov))
* Sanket Reddy ([@redsanket](https://github.com/redsanket))
* Drew Robb ([@drewrobb](https://github.com/drewrobb))
* Frantz Mazoyer ([@fmazoyer](https://github.com/fmazoyer))
* Dean de Bree ([@ddebree](https://github.com/ddebree))
* Renkai Ge ([@Renkai](https://github.com/Renkai))
* Aaron Coburn ([@acoburn](https://github.com/acoburn))
* Rick Kellogg ([@rmkellogg](https://github.com/rmkellogg))
* Abhishek Agarwal ([@abhishekagarwal87](https://github.com/abhishekagarwal87))
* chenyuzhao ([@danny0405](https://github.com/danny0405))
* Michael Schonfeld ([@schonfeld](https://github.com/schonfeld))
* Erik Weathers ([@erikdw](https://github.com/erikdw))
* Bryan Shell ([@shellbj](https://github.com/shellbj))
* Dmytro Dragan ([@3Dragan](https://github.com/3Dragan))
* Ningyu An ([@jetan9](https://github.com/jetan9))
* Pete Prokopowicz ([@prokopowicz](https://github.com/prokopowicz))
* Priyank Shah ([@priyank5485](https://github.com/priyank5485))
* Joshua Martell ([@jmartell7](https://github.com/jmartell7))
* Matthew Tieman ([@mjtieman](https://github.com/mjtieman))
* Chuck Burgess ([@ashnazg](https://github.com/ashnazg))
* Tom Graves ([@tgravescs](https://github.com/tgravescs))
* Dror Weiss ([@drorweiss](https://github.com/drorweiss))
* Victor Wong ([@victor-wong](https://github.com/victor-wong))
* David Wimsey ([@dwimsey](https://github.com/dwimsey))
* Florian Hussonnois ([@fhussonnois](https://github.com/fhussonnois))
* Ilya Ostrovskiy ([@iostat](https://github.com/iostat))
* Satish Duggana ([@satishd](https://github.com/satishd))
* Seth Ammons ([@sethgrid](https://github.com/sethgrid))
* Aaron Dixon ([@atdixon](https://github.com/atdixon))
* Roshan Naik([@roshannaik](https://github.com/roshannaik))

## Acknowledgements

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: [YourKit Java Profiler](http://www.yourkit.com/java/profiler/index.jsp) and [YourKit .NET Profiler](http://www.yourkit.com/.net/profiler/index.jsp).


