Apache Storm - Einführung
Was ist Apache Storm?
Apache Storm ist ein verteiltes Echtzeit-Big-Data-Verarbeitungssystem. Storm wurde entwickelt, um große Datenmengen in einer fehlertoleranten und horizontal skalierbaren Methode zu verarbeiten. Es handelt sich um ein Streaming-Daten-Framework, das die Fähigkeit hat, die höchsten Aufnahmeraten zu erzielen. Obwohl Storm zustandslos ist, verwaltet es die verteilte Umgebung und den Clusterstatus über Apache ZooKeeper. Es ist einfach und Sie können alle Arten von Manipulationen an Echtzeitdaten parallel ausführen.
Apache Storm ist weiterhin führend in der Echtzeit-Datenanalyse. Storm ist einfach einzurichten, zu bedienen und garantiert, dass jede Nachricht mindestens einmal durch die Topologie verarbeitet wird.
Apache Storm gegen Hadoop
Grundsätzlich werden Hadoop- und Storm-Frameworks zur Analyse von Big Data verwendet. Beide ergänzen sich und unterscheiden sich in einigen Aspekten. Apache Storm führt alle Operationen mit Ausnahme der Persistenz aus, während Hadoop in allen Bereichen gut ist, außer bei der Echtzeitberechnung zurückbleibt. In der folgenden Tabelle werden die Attribute von Storm und Hadoop verglichen.
Sturm | Hadoop |
---|---|
Echtzeit-Stream-Verarbeitung | Stapelverarbeitung |
Staatenlos | Staatsbürgerlich |
Master / Slave-Architektur mit ZooKeeper-basierter Koordination. Der Masterknoten heißtnimbus und Sklaven sind supervisors. | Master-Slave-Architektur mit / ohne ZooKeeper-basierter Koordination. Hauptknoten istjob tracker und Slave-Knoten ist task tracker. |
Ein Storm-Streaming-Prozess kann auf Zehntausende Nachrichten pro Sekunde im Cluster zugreifen. | Das Hadoop Distributed File System (HDFS) verwendet das MapReduce-Framework, um große Datenmengen zu verarbeiten, die Minuten oder Stunden dauern. |
Die Storm-Topologie wird bis zum Herunterfahren durch den Benutzer oder bis zu einem unerwarteten nicht behebbaren Fehler ausgeführt. | MapReduce-Jobs werden in einer sequentiellen Reihenfolge ausgeführt und schließlich abgeschlossen. |
Both are distributed and fault-tolerant | |
Wenn Nimbus / Supervisor stirbt, wird der Neustart an der Stelle fortgesetzt, an der er gestoppt wurde, sodass nichts beeinträchtigt wird. | Wenn der JobTracker stirbt, gehen alle laufenden Jobs verloren. |
Anwendungsfälle von Apache Storm
Apache Storm ist sehr bekannt für die Verarbeitung von Big Data Streams in Echtzeit. Aus diesem Grund verwenden die meisten Unternehmen Storm als integralen Bestandteil ihres Systems. Einige bemerkenswerte Beispiele sind wie folgt:
Twitter- Twitter verwendet Apache Storm für seine Reihe von „Publisher Analytics-Produkten“. "Publisher Analytics-Produkte" verarbeiten alle Tweets und Klicks auf der Twitter-Plattform. Apache Storm ist tief in die Twitter-Infrastruktur integriert.
NaviSite- NaviSite verwendet Storm für das Überwachungs- / Überwachungssystem für Ereignisprotokolle. Alle im System generierten Protokolle durchlaufen den Sturm. Storm vergleicht die Nachricht mit dem konfigurierten Satz regulärer Ausdrücke. Wenn eine Übereinstimmung vorliegt, wird diese bestimmte Nachricht in der Datenbank gespeichert.
Wego- Wego ist eine Reise-Metasuchmaschine in Singapur. Reisebezogene Daten stammen aus vielen Quellen auf der ganzen Welt mit unterschiedlichen Zeitpunkten. Storm hilft Wego bei der Suche in Echtzeitdaten, löst Parallelitätsprobleme und findet die beste Übereinstimmung für den Endbenutzer.
Apache Storm Vorteile
Hier ist eine Liste der Vorteile, die Apache Storm bietet:
Storm ist Open Source, robust und benutzerfreundlich. Es könnte sowohl in kleinen als auch in großen Unternehmen eingesetzt werden.
Storm ist fehlertolerant, flexibel, zuverlässig und unterstützt jede Programmiersprache.
Ermöglicht die Stream-Verarbeitung in Echtzeit.
Storm ist unglaublich schnell, weil es eine enorme Fähigkeit hat, die Daten zu verarbeiten.
Storm kann die Leistung auch bei zunehmender Belastung aufrechterhalten, indem Ressourcen linear hinzugefügt werden. Es ist hoch skalierbar.
Storm führt je nach Problem eine Datenaktualisierung und eine End-to-End-Zustellungsantwort in Sekunden oder Minuten durch. Es hat eine sehr geringe Latenz.
Storm hat operative Intelligenz.
Storm bietet eine garantierte Datenverarbeitung, selbst wenn einer der verbundenen Knoten im Cluster stirbt oder Nachrichten verloren gehen.