Flux de travail Apache Storm
Un cluster Storm fonctionnel doit avoir un Nimbus et un ou plusieurs superviseurs. Un autre nœud important est Apache ZooKeeper, qui sera utilisé pour la coordination entre nimbus et les superviseurs.
Regardons maintenant de plus près le workflow d'Apache Storm −
Dans un premier temps, nimbus attendra que la « topologie Storm » lui soit soumise.
Une fois la topologie soumise, il traitera la topologie et collectera toutes les tâches à exécuter et l'ordre dans lequel les tâches seront exécutées.
Ensuite, nimbus répartit les tâches de manière égale entre tous les superviseurs disponibles.
À intervalles précis, tous les superviseurs enverront des battements de cœur pour les avertir qu'ils sont toujours en cours d'exécution.
Lorsque le superviseur termine et n'envoie pas de battements de cœur au battement de cœur, nimbus attribue la tâche à un autre superviseur.
Lorsque le nimbus lui-même se terminera, le superviseur travaillera sur les tâches déjà assignées sans aucun problème.
Une fois toutes les tâches terminées, le superviseur attendra que de nouvelles tâches arrivent.
Dans le même temps, nimbus terminé sera automatiquement redémarré par l'outil de surveillance du service.
Le réseau redémarré continuera là où il s'était arrêté. De même, mettre fin au superviseur peut également le redémarrer automatiquement. Étant donné que le gestionnaire de réseau et le superviseur peuvent être automatiquement redémarrés et que les deux continueront comme avant, Storm garantit que toutes les tâches seront traitées au moins une fois.
Une fois toutes les topologies traitées, le gestionnaire de réseau attend l'arrivée de nouvelles topologies et de même, le gestionnaire attend de nouvelles tâches.
Par défaut, il existe deux modes dans un cluster Storm :
Mode local - Ce mode est utilisé pour le développement, les tests et le débogage car c'est le moyen le plus simple de voir tous les composants topologiques fonctionner ensemble. Dans ce mode, nous pouvons ajuster les paramètres, ce qui nous permet de voir comment notre topologie fonctionne dans différents environnements de configuration Storm. En mode local, la topologie Storm s'exécute dans une seule JVM sur la machine locale.
Mode Production - Dans ce mode, nous soumettons la topologie à un cluster Storm fonctionnel, composé de nombreux processus, généralement exécutés sur différentes machines. Comme indiqué dans le workflow de Storm, le cluster de travail fonctionnera indéfiniment jusqu'à son arrêt.