什么是Storm
Strom是一个老牌的实时数据处理框架,在Spark Streaming流行前,Storm统治者整个流式计算的江湖。
更详细的说,Storm是一个实时数据处理框架,具有低延迟/高可用/易扩展/数据不丢失等特点,同时,Storm还提供流类似与MapReduce的简单编程模型,便于开发。
Storm与Hadoop的区别
Storm与Hadoop可以说是数据处理中两种极端场景下的不同解决方案,主要区别有:
- Storm用于实时计算,Hadoop用于离线计算
- Storm将处理的数据保存在内存中,Hadoop则保存在HDFS上
- Storm通过网络传输数据,Hadoop将中间数据保存在磁盘上
Storm的使用场景
- 实时监控与日志分析
- 管道系统
- 消息转换
Strom的核心组件
- Nimbus:负责资源分配和任务调度
- Supervisor:负责接收Nimbus分配的任务,启动和停止属于自己的Worker进程
- Worker:运行具体的处理逻辑的进程,Wor