您好,登录后才能下订单哦!
这篇文章主要讲解了“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基本概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。