做网站编辑的感受,口腔医院网站优化服务商,怎么用手机做游戏,建一个网站大约需要花费多少钱文章目录 0. 前言1. 图解架构及其组件2. Storm的主要架构组件 0. 前言
上一章节#xff0c;我们为了好理解#xff0c;将storm中的抽象概念 通过画了一个水力发电系统的工作模式#xff0c;相信大家一定可以直观地理解Storm中的流 (Stream) 、拓扑 (Topology)、Spout、Bolt… 文章目录 0. 前言1. 图解架构及其组件2. Storm的主要架构组件 0. 前言
上一章节我们为了好理解将storm中的抽象概念 通过画了一个水力发电系统的工作模式相信大家一定可以直观地理解Storm中的流 (Stream) 、拓扑 (Topology)、Spout、Bolt、任务Task和工作者 (Worker)是如何协同工作处理数据的。
我们将流 (Stream) 比作河流拓扑 (Topology)想象成是一个水力发电系统Spout可以视为水力发电系统中的水轮机它不断从河流外部数据源中截取水流。
Bolt就像是沿着水轮机的齿轮和发动机它们接收从水轮机传来的动力元组tuple执行各种操作处理数据比如研磨谷物或发电。在Storm中Bolts可以执行多种数据转换操作如过滤、聚合、写入数据库等。
任务Task可以想象成是工人在水轮机和发电机之间的每个环节上工作。如果这个系统需要处理更多的水流数据我们就需要更多的工人任务。
在Storm中增加任务的数量可以提高系统处理数据的能力。工作者 (Worker)看作是整个水力发电系统的工作站或工厂。在这些工作站里每个工人任务负责操作一套齿轮与发动机执行Spout和Bolt的逻辑。工厂越多系统的处理能力就越强。在Storm中我们可以增加工作者进程的数量来扩展拓扑的处理能力。
1. 图解架构及其组件
本章节我们着重来看下Storm的架构及其组件。还是老样子我们以类比图解的方式讲解我画了一个图
我们想象一下一个水电站系统这个系统的任务是利用水流来发电。在这个类比中
Storm的架构及其组件可以借助上面的图这样理解 Nimbus控制中心这就像是水电站的控制室负责监控整个系统的运行确保所有的水轮机Spout和发电机Bolt正常工作。如果某个设备出了问题控制中心会及时派出人员去修理或替换。 Supervisor转换站这就像是电站的变压器接收来自控制中心的指令并确保电力任务送到正确的地点。 Worker进程发电机组每个Worker就是一个包含多台发电机的发电机组实际上转动产生电力。在Storm中Worker进程运行在JVM中执行实际的处理任务。 Task单独的发电机每个发电机都是发电机组的一部分负责生成电力。在Storm中每个任务都是处理流数据的最小工作单元。 Topology发电网络整个发电站的电网确保电力能够从水流经过各种设备最终供到用户。Storm中的拓扑定义了数据流向和处理的逻辑结构。 Stream水流水电站中的水流就像Storm中流动的数据水流的动力是发电的来源。 Spout水轮机水轮机是起始点它抓住水流的动力并开始转化为电能。在Storm中Spout从外部数据源捕获数据生成元组流是数据流开始的地方。 Bolt发电机发电机负责接收水轮机的动力并转换成电能。在Storm中Bolt会处理Spout发送的元组执行计算操作可能还会将结果发送到下一个Bolt或存储起来。
通过这个类比你可以更容易地理解Storm的组件是如何协同工作的以及它们在数据处理流程中各自扮演的角色。
2. Storm的主要架构组件 Nimbus这是Storm集群的主节点负责分发代码分配任务给Supervisor监视失败的任务并重新分配。 Supervisor运行在各工作节点上负责接收从Nimbus分配的任务然后把任务分配给这个节点的Worker进程。 Worker进程运行在Supervisor节点下负责执行具体的任务。每个任务都会运行在一个单独的JVM进程中。 Task实际运行的工作单元一个Worker进程可以运行一个或者多个Task。 TopologyStorm中处理逻辑的封装。 Stream数据流Storm中的主要数据结构由多个tuple组成。 Spout数据源负责从数据源获取数据转换为tuple发送给Bolt。 Bolt数据处理的主要组件可以接收数据、处理数据以及发送数据。
Storm的架构设计得非常合理可以适应各种规模的实时处理任务从而在大数据处理领域得到了广泛应用。