Storm核心的概念

1、初识Sortm的核心概念
在这里插入图片描述
Topologies:拓扑,将整个流程串起来 \ Streams:流,数据流,水流 \ Spouts:生产数据/生产水
Bolts:处理数据/处理水 \ Tuple:数据/水 \ Stream groupings:流分组
Reliability:可靠性 \ Tasks:任务 \ Workers:工人

2、Storm核心概念理解记忆概述
在这里插入图片描述
3、Storm核心概念理解记忆之地铁运行模型
在这里插入图片描述
4、Storm核心概念理解记忆之Storm
在这里插入图片描述
5、Storm核心小结
在这里插入图片描述
6、Storm核心概念官方详解
Topologies
实时应用程序的逻辑被打包到Storm拓扑中。Storm拓扑类似于MapReduce作业。一个主要区别是MapReduce作业最终完成,而拓扑将永远运行(或者,直到您杀死它)。 topology是与stream groupings连接的spouts和bolts的图形

Streams
流是Storm中的核心抽象。流是无限制的元组序列,它以分布式方式并行处理和创建。
流使用命名流元组中的字段的模式定义。默认情况下,tuples can contain integers, longs, shorts, bytes, strings, doubles, floats, booleans, and byte arrays.。您还可以定义自己的序列化器,以便可以在元组中本地使用自定义类型。
声明时,每个流都有一个id。由于单流spouts和bolts非常常见,因此OutputFieldsDeclarer提供了方便的方法来声明单流而无需指定id。在这种情况下,流的默认ID为“默认”。

spout
spout是拓扑中流的源。通常,喷口将从外部源中读取元组,并将它们发送到拓扑中(例如,Kestrel队列或Twitter API)。喷口可以是可靠或不可靠的。如果Storm无法对其进行处理,则可靠的喷嘴可以重播元组,而不可靠的喷嘴会在元组发出后立即将其忘记。

bolt
Topologies中的所有处理均通过bolt完成。bolt可以执行任何操作,包括过滤,函数,聚合,联接,与数据库对话等等。

Stream groupings
定义拓扑的一部分是为每个bolt指定应接收的流作为输入。流分组定义了如何在bolt任务之间分配该流。

Reliability
Storm保证每个spout元组将被Topologies完全处理。它通过跟踪每个spout元组触发的元组树并确定何时成功完成该元组树来做到这一点。每个拓扑都有一个与之关联的“消息超时”。如果Storm无法检测到在该超时时间内已完成spout元组,则它将使元组失败并稍后重播。
要利用Storm的可靠性功能,必须在创建元组树中的新边时告诉Storm,并在完成单个元组的处理后告诉Storm。这些是通过spout用来发出元组的OutputCollector对象完成的。

Tasks
每个spout或bolt在整个集群中执行尽可能多的任务。每个任务对应一个执行线程,Stream groupings定义如何将元组从一组任务发送到另一组任务。您可以在TopologyBuilder的setSpout和setBolt方法中为每个spout或bolt设置并行度。

Workers
Topologies跨一个或多个工作进程执行。每个工作进程都是一个物理JVM,并执行Topologies所有任务的子集。例如,如果Topologies的组合并行度为300,并分配了50个工作程序,则每个工作程序将执行6个任务(作为工作程序中的线程)。Storm试图将任务平均分配给所有工人。

7、图解Storm核心概念
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值