Items\projects |
Yahoo! s4 |
Twitter Storm |
Agreement |
Apache License 2.0 |
Eclipse Public License 1.0 |
Development language |
Java |
Clojure,java,clojure wrote the core code |
Structure |
The peer structure to be centralized |
Have a central node nimbus, but not critical |
Communication |
Pluggable communication layer, currently based on UDP implementation |
Thrift framework based on Facebook's open source |
Event/stream |
<K,A> sequence, user-definable event classes |
The tuple class is provided, and the user cannot customize the event class. But you can name the field and register the serializer |
Processing Unit |
Processing Elements, built-in PE processing Common tasks such as count,join and aggregate |
Bolt, no built-in task, provides ibasicbolt processing Automatic ACK |
Third-party interactions |
Provides Api,client Adapter/driver, third-party client input or output events |
Define spout for generating stream, no standard output API |
Persistence of |
Provides persist API specification, which can be done according to frequency or number of times Persistence of |
No specific API, users can choose their own processing |
Reliable Handling |
None, event may be lost |
Provides reliable assurance of event handling (optional) |
Routing |
EventType + Keyed attribute + value match Built-in Count,join and aggregate standard tasks |
Stream groupings: Shuffle,fields,all,global,none,direct A very flexible routing method |
Multi-lingual support |
Java only supported temporarily |
Multi-lingual support is good, itself supports java,clojure, Other non-JVM languages through thrift and interprocess communication |
Failover |
Partial support, data not failover |
Partial support, data also cannot be failover |
Load Balance |
Not supported |
Not supported |
Parallel processing |
dependent on number of nodes, not adjustable |
The number of workers and tasks can be configured, and Storm will try to distribute the worker and task evenly |
Dynamic Delete Node |
Not supported |
Support |
Dynamic deployment |
Not supported |
Support |
Web Management |
Not supported |
Support |
Code Maturity Level |
Semi - finished |
Mature |
Activity level |
Low |
Active |
Programming |
Programming + XML Configuration |
Pure programming |
Reference documents |
http://docs.s4.io/ |
https://github.com/nathanmarz/storm/wiki/ http://xumingming.sinaapp.com/category/storm/(very good Chinese translation) |