Apache Storm - Flux de travail

Un cluster Storm opérationnel doit avoir un nimbus et un ou plusieurs superviseurs. Un autre nœud important est Apache ZooKeeper, qui sera utilisé pour la coordination entre le nimbus et les superviseurs.

Examinons maintenant de près le flux de travail d'Apache Storm -

  • Dans un premier temps, le nimbus attendra que la «topologie de tempête» lui soit soumise.

  • Une fois qu'une topologie est soumise, elle traitera la topologie et rassemblera toutes les tâches à effectuer et l'ordre dans lequel la tâche doit être exécutée.

  • Ensuite, le nimbus distribuera uniformément les tâches à tous les superviseurs disponibles.

  • À un intervalle de temps particulier, tous les superviseurs enverront des battements de cœur au nimbus pour l'informer qu'ils sont toujours en vie.

  • Lorsqu'un superviseur meurt et n'envoie pas de battement de cœur au nimbus, le nimbus attribue les tâches à un autre superviseur.

  • Lorsque le nimbus lui-même meurt, les superviseurs travailleront sur la tâche déjà assignée sans aucun problème.

  • Une fois toutes les tâches terminées, le superviseur attendra qu'une nouvelle tâche arrive.

  • En attendant, le nimbus mort sera redémarré automatiquement par des outils de surveillance de service.

  • Le nimbus redémarré continuera là où il s'est arrêté. De même, le superviseur mort peut également être redémarré automatiquement. Comme le nimbus et le superviseur peuvent être redémarrés automatiquement et que les deux continueront comme avant, Storm est assuré de traiter toute la tâche au moins une fois.

  • Une fois que toutes les topologies sont traitées, le nimbus attend qu'une nouvelle topologie arrive et de même le superviseur attend de nouvelles tâches.

Par défaut, il existe deux modes dans un cluster Storm -

  • Local mode- 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 de topologie travailler ensemble. Dans ce mode, nous pouvons ajuster les paramètres qui nous permettent de voir comment notre topologie fonctionne dans différents environnements de configuration Storm. En mode local, les topologies Storm s'exécutent sur la machine locale dans une seule JVM.

  • Production mode- Dans ce mode, nous soumettons notre topologie au cluster Storm de travail, qui est composé de nombreux processus, généralement exécutés sur des machines différentes. Comme indiqué dans le flux de travail de Storm, un cluster de travail fonctionnera indéfiniment jusqu'à ce qu'il soit arrêté.