Storm简介
Storm,一个由Twitter发起的开源项目。Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流,常被称为“实时的Hadoop”。
若把Hadoop理解成将一大桶水(大量的数据)倒入锅中煮(计算),煮完了就收工;那么Storm则可以理解成为一根水管连接到锅中,水持续的进入锅中,而锅持续的煮水,直到人为的把锅端掉。Storm的官网上的一张图很好的诠释了这个含义:
上图中的水龙头就是数据的输入源Spout,而闪电图标的节点则是Blot节点,用来对数据进行加工处理。
Storm的特性
Storm最大的特性毫无疑问就是实时的数据流处理。Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。其主要特性如下:
- 低延迟,实时响应。Hadoop在批处理上无人能及,Storm在实时流数据处理上无人可比。
- 高性能。用到了集群要是性能还说不过去都不好意思说自己是集群处理。其底层消息队列采用了ZeroMQ, 保证消息能快速被处理(0.9版本后不在采用)。
- 可轻松扩展。和Hadoop一样,可以横向扩展来提高集群的处理能力;同样的,还能方便的扩展每台机器上的工作线程。
- 高可靠性。Storm是记录级容错,保证每条消息都被处理。
- 方便开发。Storm同MapReduce一样也有一些编程模型,且Storm除了Java以外还支持大量的编程语言。
分类:Apache Storm
标签:Storm