- Apache Storm 教程
- Apache Storm - 主页
- Apache Storm - 简介
- Apache Storm - 核心概念
- Apache Storm - 集群架构
- Apache Storm - 工作流程
- Storm - 分布式消息系统
- Apache Storm - 安装
- Apache Storm - 工作示例
- Apache Storm - 三叉戟
- Twitter 中的 Apache Storm
- 雅虎中的Apache Storm!金融
- Apache Storm - 应用程序
- Apache Storm 有用资源
- Apache Storm - 快速指南
- Apache Storm - 有用的资源
- Apache Storm - 讨论
Apache Storm - 工作流程
一个工作的 Storm 集群应该有一个 nimbus 和一个或多个 Supervisor。另一个重要的节点是 Apache ZooKeeper,它将用于 nimbus 和管理者之间的协调。
现在让我们仔细看看 Apache Storm 的工作流程 -
最初,nimbus 将等待“Storm Topology”提交给它。
一旦拓扑被提交,它将处理拓扑并收集所有要执行的任务以及任务执行的顺序。
然后,nimbus 会将任务均匀分配给所有可用的管理者。
在特定的时间间隔,所有的supervisor都会向nimbus发送心跳,告知他们还活着。
当一个supervisor死亡并且没有向nimbus发送心跳时,nimbus就会将任务分配给另一个supervisor。
当灵气本身死亡时,主管将毫无问题地完成已经分配的任务。
当所有任务完成后,主管将等待新任务的到来。
与此同时,死掉的nimbus将通过服务监控工具自动重新启动。
重新启动的灵气将从停止的地方继续。同样,死掉的supervisor也可以自动重启。由于 Nimbus 和 Supervisor 都可以自动重启,并且都将像以前一样继续,所以 Storm 保证至少处理一次所有任务。
一旦处理完所有拓扑,nimbus 就会等待新拓扑的到达,类似地,supervisor 也会等待新任务。
默认情况下,Storm 集群中有两种模式 -
本地模式- 此模式用于开发、测试和调试,因为它是查看所有拓扑组件一起工作的最简单方法。在此模式下,我们可以调整参数,使我们能够查看拓扑在不同 Storm 配置环境中的运行情况。在本地模式下,storm 拓扑在本地计算机上的单个 JVM 中运行。
生产模式- 在这种模式下,我们将拓扑提交到工作风暴集群,该集群由许多进程组成,通常运行在不同的机器上。正如 Storm 工作流程中所讨论的,工作集群将无限期地运行,直到关闭。