Apache Storm - przepływ pracy
Działający klaster Storm powinien mieć jeden nimbus i co najmniej jednego nadzorcę. Innym ważnym węzłem jest Apache ZooKeeper, który będzie używany do koordynacji między nimbusem a nadzorcami.
Przyjrzyjmy się teraz bliżej przepływowi pracy Apache Storm -
Początkowo nimbus będzie czekał na przesłanie do niego „Topologii burzy”.
Po przesłaniu topologii, przetwarza topologię i zbiera wszystkie zadania, które mają być wykonane, oraz kolejność, w jakiej zadanie ma być wykonane.
Następnie nimbus równomiernie rozdzieli zadania między wszystkich dostępnych przełożonych.
W określonym przedziale czasu wszyscy nadzorcy będą wysyłali bicie serca do nimbusa, aby poinformować, że nadal żyją.
Kiedy przełożony umiera i nie wysyła bicia serca do nimbu, wtedy nimbus przydziela zadania innemu nadzorcy.
Kiedy sam nimb umrze, przełożeni będą bez problemu pracować nad już przydzielonym zadaniem.
Po wykonaniu wszystkich zadań przełożony będzie czekał na nadejście nowego zadania.
W międzyczasie martwy nimbus zostanie automatycznie ponownie uruchomiony przez narzędzia do monitorowania usług.
Zrestartowany nimb będzie kontynuowany od miejsca, w którym został zatrzymany. Podobnie martwego nadzorcy można również uruchomić ponownie automatycznie. Ponieważ zarówno nimbus, jak i nadzorca mogą zostać ponownie uruchomione automatycznie i oba będą kontynuowane jak poprzednio, Storm ma gwarancję, że przetworzy całe zadanie przynajmniej raz.
Po przetworzeniu wszystkich topologii nimbus czeka na nadejście nowej topologii, a nadzorca czeka na nowe zadania.
Domyślnie w klastrze Storm są dwa tryby -
Local mode- Ten tryb jest używany do programowania, testowania i debugowania, ponieważ jest to najłatwiejszy sposób, aby zobaczyć wszystkie komponenty topologii współpracujące. W tym trybie możemy dostosować parametry, które pozwolą nam zobaczyć, jak nasza topologia działa w różnych środowiskach konfiguracyjnych Storm. W trybie lokalnym topologie burzy działają na komputerze lokalnym w jednej maszynie JVM.
Production mode- W tym trybie przekazujemy naszą topologię do działającego klastra burzowego, który składa się z wielu procesów, zwykle działających na różnych maszynach. Jak omówiono w przepływie pracy burzy, działający klaster będzie działał przez czas nieokreślony, dopóki nie zostanie zamknięty.