Entwickelt von | Apache Software Foundation |
---|---|
Erste Version | 12. April 2014 |
Letzte Version |
1.2.3 (18. Juli 2019) 2.0.0 (30. Mai 2019) 2.1.0 (31. Oktober 2019) |
Anzahlung | git-wip-us.apache.org/repos/asf/storm.git |
Geschrieben in | Clojure und Java |
Lizenz | Apache-Lizenz |
Webseite | Storm.apache.org |
Apache Storm ist ein Rechenrahmen für die verteilte Stream-Verarbeitung , der hauptsächlich in der Programmiersprache Clojure geschrieben ist . Das Projekt wurde ursprünglich von Nathan Marz und dem BackType-Team erstellt und ist nach der Übernahme durch Twitter Open Source . Es verwendet benutzerdefinierte "Ausläufe" und "Bolzen", um Informationsquellen und Manipulationen für die Stapelverarbeitung und die kontinuierliche Datenverteilung zu definieren. Die erste Veröffentlichung erfolgte am17. September 2011.
Eine Storm-Anwendung ist als "Topologie" in Form eines gerichteten azyklischen Diagramms (DAG) mit Ausläufen und Bolzen als Eckpunkte des Diagramms konzipiert. Die Kanten des Diagramms werden als Flüsse bezeichnet und leiten Daten von einem Knoten zum anderen. Zusammen fungiert die Topologie als Datentransformationspipeline. Auf oberflächlicher Ebene ähnelt die allgemeine topologische Struktur einem MapReduce- Job . Der Hauptunterschied besteht darin, dass die Daten im Gegensatz zu einzelnen Stapeln in Echtzeit verarbeitet werden. Darüber hinaus werden Storm-Topologien unbegrenzt ausgeführt, bis sie gelöscht werden, während eine funktionierende MapReduce-DAG beendet werden sollte.
Storm wurde ein Apache-Top-Level-Projekt in September 2014 und war zuvor in Inkubation seitdem September 2013.
Storm ist nur eine von Dutzenden von Stream-Processing-Engines. Eine vollständigere Liste finden Sie unter Workflow-Verarbeitung . Twitter kündigte Heron an2. Juni 2015API kompatibel mit Storm. Es gibt andere vergleichbare Streaming-Daten-Engines wie Spark Streaming und Flink .