Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Componenti fisici di uno Storm Cluster

Link copiato negli appunti

Dal punto di vista fisico, uno Storm Cluster è costituito da nodi organizzati in nodi master e worker. I nodi master eseguono un demone chiamato Nimbus, i nodi worker eseguono un demone chiamato Supervisor. Un TOPOLOGY viene eseguito attraverso molti nodi worker su differenti macchine. Infine, Storm mantiene lo stato di tutti i cluster in un server ZooKeeper, rappresentante anche l'interfaccia tra Nimbus e i vari Supervisor. In dettaglio:

Demone Descrizione
Nimbus è responsabile di distribuire il codice all'interno del cluster,assegnare i tasks ad ogni nodo worker e di monitorare i guasti.
Supervisor esegue una porzione di un TOPOLOGY.
ZooKeeper è un servizio centralizzato per il mantenimento di informazioni di configurazione.

I demoni elencati sono stateless e per questo motivo il loro stato viene mantenuto in questo servizio, cosi possibili fail o restart non incidono sul sistema in produzione.

Figura 7. Componenti fisici di uno Storm Cluster
Componenti fisici di uno Storm Cluster

Infine, Storm fa uso di ZeroMQ (0MQ), una libreria di messaging asincrono ad elevate prestazioni, utilizzata in sistemi distribuiti, che offre le seguenti caratteristiche:

  • una socket library che agisce come un framework concorrente;
  • consegna di messaggi attraverso IPC, TCP e multicast;
  • operazioni di I/O asincrone per il passaggio di messaggi tra le applicazioni scalabili e multicore;
  • connessioni N-to-N, publish/subscribe, pipeline, request-reply.

In particolare, Storm utilizza delle sockets push/pull.

Modus Operandi di Storm

Storm opera in due modalità:

Mdalità Descrizione
Local Mode i topologies vengono eseguiti su una macchina locale, in una singola JVM. Generalmente, questa modalità è usata per sviluppo, test e debbugging in quanto è il modo più semplice per vedere come i topologies lavorano insieme.
Remote Mode in questa modalità, i topologies sono inviati allo Storm cluster che sarà costituito da più processi eseguiti su macchine differenti. In questa modalità non vengono fornite informazioni di debbugging in quanto viene considerata come una modalità di produzione. Tuttavia, è possibile creare uno Storm cluster su una singola macchina di sviluppo ed effettuare il deploy del progetto che integra Storm, simulando una modalità di produzione.

Ti consigliamo anche