Storm基础
Storm是个实时的、分布式以及具备高容错的计算系统
实时性—进程常驻内存 数据少量经过磁盘,在内存中处理
分布式—集群操作
高容错—节点宕机,信息处理不完整(acker机制来解决这些问题)
Storm计算模型
[外链图片转存失败(img-nMFRjtuU-1563924936197)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\1561173142512.png)]
Tuple – 元组,Stream中最小数据组成单元
Spout – 数据源 (假) 发送数据/推送数据
本身不会产生数据,通过客户端得到数据(2个方法:OutputFieldsDeclarer、nextTuple)
一个Spout可以发送多个数据流(Stream)
OutputFieldsDeclarer中的declare方法声明定义的不同数据流 --为推送准备好数据类型
Spout中最核心的方法是nextTuple --不断推送
Bolt – 数据流处理组件 接受数据
拓扑中数据处理均有Bolt完成。对于简单的任务或者数据流转换,单个Bolt可以简单实现;更加复杂场景往往需要多个Bolt分多个步骤完成
一个Bolt可以发送多个数据流(Stream)
Bolt中最核心的方法是execute方法 --接收、执行数据
OutputFieldsDeclarer中的declare方法声明定义的不同数据流 --为推送准备