Apache Storm un sistema di elaborazione dati in tempo reale

logo_tempesta

Apache Storm è un progetto che consente di organizzare l'elaborazione garantito di vari eventi in tempo reale. Ad esempio, Storm può essere utilizzato per analizzare i flussi di dati in tempo reale, eseguire attività di machine learning, organizzare calcoli continui, implementare RPC, ETL, ecc.

il sistema supporta il clustering, lper creare configurazioni a tolleranza di errore, modalità di elaborazione dati garantita e velocità effettiva sufficiente per elaborare più di un milione di richieste al secondo su un nodo del cluster.

Integrazione di Apache Storm con vari sistemi di elaborazione delle code e tecnologie di database.

L'architettura di Storm implica la ricezione e l'elaborazione di flussi di dati non strutturati e costantemente aggiornato utilizzando controllori complessi arbitrari con la possibilità di suddividere tra diverse fasi di calcolo.

Informazioni su Apache Storm

Il progetto è stato trasferito alla comunità Apache dopo l'acquisizione di Twitter da parte di BackType, la società che originariamente aveva sviluppato il framework.

In pratica, Storm è stato utilizzato in BackType per analizzare il riflesso degli eventi nei microblog, confrontando al volo i nuovi tweet ei collegamenti che sono stati utilizzati in essi (ad esempio, sono stati valutati come collegamenti esterni o annunci Twitter trasmessi da altri partecipanti).

La funzionalità Storm è paragonabile alla piattaforma Hadoope la differenza fondamentale è che i dati non vengono inseriti nel repository, ma vengono ricevuti dall'esterno ed elaborati in tempo reale.

In Storm, non esiste un livello di archiviazione integrato e la query analitica inizia ad applicarsi ai dati in arrivo fino a quando non viene annullata (se Hadoop utilizza il processo MapReduce che occupa un tempo limitato, Storm utilizza l'idea di eseguire "topologie" continuamente.

L'esecuzione dei gestori può essere distribuita su più server: Storm parallelizza automaticamente il lavoro con i thread in diversi nodi del cluster.

Principali casi d'uso che possono essere forniti ad Apache Storm

Elaborazione di nuovi flussi di dati o aggiornamenti del database in tempo reale
Calcoli continui: Storm può effettuare richieste continue ed elaborare flussi continui, trasferire in tempo reale i risultati della lavorazione al cliente.

Chiamata di procedura remota distribuita (RPC): è possibile utilizzare una tempesta per fornire concorrenza nell'esecuzione di query a elevato utilizzo di risorse.

Un'attività ("topologia") in Storm è una funzione distribuita tra i nodi in attesa dell'elaborazione dei messaggi in arrivo.

Dopo aver ricevuto il messaggio, la funzione lo elabora in un contesto locale e restituisce il risultato. Un esempio di utilizzo di RPC distribuito potrebbe essere l'elaborazione parallela di query di ricerca o l'esecuzione di operazioni su un ampio set di set.

Nuove funzionalità principali di Apache Storm 2.0

La Fondazione Apache ha lanciato iniziative per trasferire Storm su un nuovo kernel scritto in Java, i cui risultati sono proposti nella versione Apache Storm 2.0.

Tutti i componenti di base della piattaforma vengono riscritti in Java. Il supporto per la scrittura di gestori in Clojure viene mantenuto, ma ora viene offerto sotto forma di collegamenti. Java 8 è richiesto per Storm 2.0.0 per funzionare.

Il modello di elaborazione multithread è stato completamente ridisegnato, che ha portato a un notevole aumento delle prestazioni (per alcune topologie le latenze sono state ridotte del 50-80%).

Nella nuova versione è stata proposta una nuova API Streams tipizzata, che consente di configurare i gestori utilizzando operazioni nello stile di programmazione funzionale.

La nuova API viene implementata sulla base della normale API e supporta l'unione automatica delle operazioni per ottimizzarne l'elaborazione. L'API Windowing per le operazioni sulle finestre aggiunge il supporto per il salvataggio e il ripristino dello stato nel back-end.

D'altra parte il controller per avviare risorse aggiuntive in considerazione quando si prendono decisioni che non si limitano a CPU e memoria, come i parametri di rete e GPU, è stato aggiunto allo scheduler di avvio.

Una serie di miglioramenti relativi alla garanzia dell'integrazione con la piattaforma Kafka.
È stato ampliato il sistema di controllo degli accessi, in cui è sorta l'opportunità di creare gruppi di amministratori e delegazione di token.

Aggiunti miglioramenti relativi al supporto per SQL e metriche. L'interfaccia dell'amministratore dispone di nuovi comandi per il debug dello stato del cluster.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.