重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了“Storm基本概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Storm基本概念是什么”吧!
成都创新互联-成都网站建设公司,专注网站设计制作、做网站、网站营销推广,空间域名,虚拟空间,网站托管有关企业网站制作方案、改版、费用等问题,请联系成都创新互联。
1、Storm基本概念:
Nimbus:负责资源分配和任务调度
Supervisor:负责Nimbus分配的任务,启动和停止属于自己管理的worker进程
Worker:运行具体处理逻辑的组件进程
Spout/Bolt(Task):worker中每一个(Spout/Bolt)线程称为一个Task,在storm0.8版本之后,task不再与物理线程对应,同一个Spout/Bolt的Task可能共享一个物理线程,该线程称为executor
Topology:所有组件(即Spouts/Bolts)的排列与连接被称之为一个Topology
Spout:产生源数据流的组件
Bolt:接收、执行数据的组件
Tuple:消息传递的基本单元(将消息放在Tuple中进行传输)
Stream:源源不断的传递的Tuple组成了Stream
数据处理的过程:
处理工作被分派给不同类型的组件(components),每个组件分别负责一个简单、特定的处理任务。处理Storm集群输入流的组件叫喷口(spout),喷口再将数据传给一个叫螺栓(bolt)的组件,并在螺栓中处理数据,处理完成之后,螺栓要么将这些数据存储起来(存储在数据库、磁盘甚至是对象中),要么将它传给其他螺栓。因此,可以将Storm集群想象成一个螺栓链,每个螺栓都会对喷口发送的数据作出一些处理。
2、Storm特性(优势/好处)
编程简单、支持多种语言编程、容错、可扩展、可靠、快速、事务性
与其它实时计算系统(s4, puma)的区别
记录级容错:告知用户每一个消息单元是否在指定的时间内被完全处理(消息单元是否完全经过Topology每一个Bolt组件的处理)
1、Spout在发送一个新源时会为Tuple指定一个Message Id(这个MessageId可以是任意对象)
2、Topology中有一个系统级组件叫acker,acker追踪每一个从Spout中绑定MessageId所流出来的若干个Tuple的处理路径
3、如果用户设置的最大超时时间内这些tuple没有被完全处理,那么acker就会告知spout该消息处理失败了,相反则会告知spout该消息处理成功了
事务拓扑(Transactional Topology):storm0.7版本引入的新特性,在0.8版本替换为Trident,在0.9版本弃用,目的是为了满足对消息处理有着极其严格要求的场景,例如实时计算某个用户的成交笔数,要求结果完全精确,不能多也不能少。
感谢各位的阅读,以上就是“Storm基本概念是什么”的内容了,经过本文的学习后,相信大家对Storm基本概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!