项目主页:https://github.com/nathanmarz/storm
具有下关键属性:
1.广泛的应用场景:可以用于消息处理和数据库更新(stream processing),可以针对数据流进行持续查询并将结果推送给客户端(continuous computation),可以用来并行化重量级查询操作比如一个实时的搜索请求(distributed RPC)等等方面。
2.可扩展:很容易对每秒可以处理的消息数进行扩展,只需要简单的增加机器及拓扑结构的并行性。一个10节点集群每秒可以处理1000,000个消息。集群使用Zookeeper进行协商,很容易扩展到更大规模。
3.保证无数据丢失:可以保证每条消息都会被处理,这就与其他类似系统比如S4,形成鲜明对比。
4.高度的健壮性:不像Hadoop那么复杂而难以管理,Storm尽量让用户管理起来尽可能简单。
5.容错:如果计算过程中出现错误,Storm会在必要时重新分配该任务。它可以保证计算持续进行,直到用户显式中断。
6.支持多种编程语言:没有限定使用什么语言,可以使用任意语言来定义Storm Toplogy和处理组件。