Storm 的计算架构
流式计算框架
- 客户端将数据发送给MQ(消息队列)然后传递到Storm中进行计算
- 最终计算的结果储存到数据库中(HBase,Mysql)
- 客户端不要求服务器返回结果,客户端可以一直向storm发送数据。
- 客户端相当于生产者,storm相当于消费者。
Topology
- 计算拓扑
- storm的拓扑式对实时计算应用逻辑的封装,它的作用与MapReduce的任务和相似,区别在于MapReduce的一个job在得到结果之后总会结束,而拓扑会一直在集群中运行,直到你手动去终止它。
- 拓扑还可以理解成有一系列通过数据流仙湖关联的spout和bolt组成的拓扑结构。
Stream
- 数据流式storm中最核心的抽象概念。
- 一个数据流指的是分布式环境中并行创建、处理的一组元组(tuple)的无界序列。
- 数据流可以由一种能够表述数据流中元组的域(fields)的模式来定义。
Tuple
- Stream中最小数据组成单元
- 每个tuple可以包含多列,字段类型可能是:integer、long、short、byte、double、float、boolean和byte array
Spout
- 数据源是拓扑中数据流的来源。
- 一般spout会从一个外部的数据源读取元组然后将他们发送到拓扑中。