Apache Storm een ​​real-time gegevensverwerkingssysteem

storm_logo

Apache Storm is een project waarmee u de verwerking kunt organiseren gegarandeerde van verschillende evenementen in realtime. Bijvoorbeeld Storm kan worden gebruikt om datastromen in realtime te analyseren, uitvoeren machine learning-taken, continue berekeningen organiseren, RPC, ETL implementeren, enz.

Het systeem ondersteunt clustering, lom fouttolerante configuraties te bouwen, een gegarandeerde gegevensverwerkingsmodus en een doorvoersnelheid die hoog genoeg is om meer dan een miljoen verzoeken per seconde op een clusterknooppunt te verwerken.

Apache Storm-integratie met verschillende wachtrijverwerkingssystemen en databasetechnologieën.

De architectuur van Storm omvat het ontvangen en verwerken van ongestructureerde datastromen en voortdurend bijgewerkt met behulp van willekeurige complexe controllers met de mogelijkheid om verschillende rekenfasen te verdelen.

Over Apache Storm

Het project werd overgedragen aan de Apache-gemeenschap na de overname van Twitter door BackType, het bedrijf dat het framework oorspronkelijk heeft ontwikkeld.

In de praktijk werd Storm in BackType gebruikt om de weerspiegeling van gebeurtenissen in microblogs te analyseren, door nieuwe tweets on-the-fly te vergelijken met de links die erin werden gebruikt (ze werden bijvoorbeeld geëvalueerd als externe links of Twitter-advertenties werden uitgezonden door andere deelnemers).

Storm-functionaliteit is vergelijkbaar met het Hadoop-platform, en het belangrijkste verschil is dat de gegevens niet in de repository worden geplaatst, maar van buitenaf worden ontvangen en in realtime worden verwerkt.

In Storm is er geen ingebouwde opslaglaag en de analytische query wordt toegepast op de inkomende gegevens totdat deze wordt geannuleerd (als Hadoop de MapReduce-taak gebruikt die eindige tijd in beslag neemt, dan gebruikt Storm het idee om 'topologieën' uit te voeren doorlopend.

De uitvoering van de handlers kan over meerdere servers worden gedistribueerd: de Storm parallelt automatisch het werk met threads in verschillende knooppunten van het cluster.

Belangrijkste gebruiksscenario's die aan Apache Storm kunnen worden gegeven

Verwerking van nieuwe datastromen of database-updates in realtime
Continue berekeningen: Storm kan continue aanvragen doen en continue stromen verwerken, het in realtime overbrengen van de resultaten van de verwerking naar de klant.

Gedistribueerde externe procedureaanroep (RPC): een storm kan worden gebruikt om gelijktijdigheid te bieden bij het uitvoeren van resource-intensieve query's.

Een taak ("topologie") in Storm is een gedistribueerde functie tussen knooppunten die wacht op inkomende berichten om te worden verwerkt.

Na ontvangst van het bericht verwerkt de functie het in een lokale context en retourneert het resultaat. Een voorbeeld van het gebruik van gedistribueerde RPC is het parallel verwerken van zoekopdrachten of het uitvoeren van bewerkingen op een grote set sets.

Apache Storm 2.0 Belangrijkste nieuwe functies

De Apache Foundation initiatieven gelanceerd om Storm over te brengen naar een nieuwe kernel die in Java is geschreven, waarvan de resultaten worden voorgesteld in de Apache Storm 2.0-versie.

Alle basiscomponenten van het platform zijn herschreven in Java. Ondersteuning voor het schrijven van handlers in Clojure blijft behouden, maar wordt nu aangeboden in de vorm van links. Java 8 is vereist om Storm 2.0.0 te laten werken.

Het multithreaded verwerkingsmodel is volledig opnieuw ontworpen, wat heeft geresulteerd in een opmerkelijke prestatieverbetering (voor sommige topologieën zijn de latenties met 50-80% verminderd).

In de nieuwe versie er werd een nieuwe getypte Streams API voorgesteld, waarmee u handlers kunt configureren met bewerkingen in de functionele programmeerstijl.

De nieuwe API wordt geïmplementeerd op basis van de reguliere API en ondersteunt het automatisch samenvoegen van bewerkingen om hun verwerking te optimaliseren. De Windowing API voor vensterbewerkingen voegt ondersteuning toe voor het opslaan en herstellen van de status in de backend.

Anderzijds de controller om rekening te houden met aanvullende bronnen bij het nemen van beslissingen die niet beperkt zijn tot CPU en geheugen, zoals netwerk- en GPU-parameters, is deze toegevoegd aan de opstartplanner.

Een groot aantal verbeteringen met betrekking tot het garanderen van integratie met het Kafka-platform.
Het toegangscontrolesysteem is uitgebreid, waarbij de mogelijkheid is ontstaan ​​om groepen beheerders en token delegatie aan te maken.

Verbeteringen toegevoegd met betrekking tot ondersteuning voor SQL en metrische gegevens. De beheerdersinterface heeft nieuwe opdrachten voor het debuggen van de clusterstatus.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.