Storm工作流程


一个正在运行的Storm集群应该有一个灵活的和一个或多个主管。另一个重要的节点是Apache ZooKeeper,它将用于nimbus和主管之间的协调。

现在让我们仔细看看Apache Storm的工作流程 -

  • 最初,灵气将等待“Storm拓扑”提交给它。

  • 提交拓扑后,它将处理拓扑并收集要执行的所有任务以及执行任务的顺序。

  • 然后,灵气将任务均匀分配给所有可用的主管。

  • 在特定的时间间隔内,所有主管人员都会将心跳发送给灵气通知他们还活着。

  • 当主管死亡并且不向心灵发送心跳时,则灵气分配任务给另一个主管。

  • 当灵气本身死亡时,主管将在没有任何问题的情况下处理已分配的任务。

  • 一旦所有任务完成,主管将等待新任务进入。

  • 同时,服务监控工具将自动重启死光弹。

  • 重新启动的灵气将从停止的地方继续。同样,死亡监督员也可以自动重新启动。由于nimbus和管理员都可以自动重新启动,两者都会像以前一样继续运行,所以Storm保证至少处理一次所有任务。

  • 一旦处理完所有拓扑,光纤就等待新的拓扑到达,同样,管理员等待新的任务。

默认情况下,Storm群集中有两种模式 -

  • 本地模式 - 此模式用于开发,测试和调试,因为它是查看所有拓扑组件一起工作的最简单方法。 在这种模式下,我们可以调整参数,使我们能够看到我们的拓扑如何在不同的Storm配置环境中运行。在本地模式下,Storm拓扑在单个JVM中的本地计算机上运行。

  • 生产模式 - 在这种模式下,我们将拓扑提交给工作Storm群集,该群集由多个进程组成,通常运行在不同的机器上。 正如Storm工作流程中所讨论的,工作集群将无限期地运行,直到它关闭。