Apache Storm 2.0 verspreide rekenaarstelsel beskikbaar

het die lig gesien beduidende vrystelling van 'n verspreide gebeurtenisverwerkingstelsel Apache Storm 2.0, opvallend vir sy oorgang na 'n nuwe argitektuur wat in Java geïmplementeer is, in plaas van die voorheen gebruikte Clojure-taal.

Met die projek kan u gewaarborgde verwerking van verskeie gebeurtenisse intyds organiseer. Storm kan byvoorbeeld gebruik word om datastrome intyds te ontleed, masjienleertake uit te voer, deurlopende rekenaars te organiseer, RPC, ETL, ens. Die stelsel ondersteun groepering, skepping van foutverdraagsame konfigurasies, gewaarborgde dataverwerkingsmodus en het hoë werkverrigting, voldoende om meer as 'n miljoen versoeke per sekonde op een groepnodus te verwerk.

Integrasie met verskeie touverwerkingstelsels en databasistegnologieë word ondersteun. Die Storm-argitektuur behels die ontvangs en verwerking van ongestruktureerde, voortdurend bygewerkte datastrome deur gebruik te maak van arbitrêre komplekse verwerkers met die vermoë om tussen verskillende stadiums van berekeninge te verdeel. Die projek is aan die Apache-gemeenskap oorhandig nadat Twitter BackType, die maatskappy wat oorspronklik die raamwerk ontwikkel het, verkry het. In die praktyk is Storm in BackType gebruik om die weerspieëling van gebeure in mikroblogs te ontleed deur nuwe twiets en die skakels wat daarin gebruik word te vergelyk (byvoorbeeld, dit is geassesseer hoe eksterne skakels of aankondigings wat op Twitter gepubliseer is deur ander deelnemers weer uitgesaai is ).

Storm se funksionaliteit word vergelyk met die Hadoop-platform, met die belangrikste verskil dat die data nie in 'n pakhuis gestoor word nie, maar ekstern ingeneem en intyds verwerk word. Storm het nie 'n ingeboude bergingslaag nie en die analitiese navraag begin toegepas word op inkomende data totdat dit gekanselleer word (terwyl Hadoop eindige-tyd MapReduce-take gebruik, gebruik Storm die idee om voortdurend "topologieë" te laat loop). Die uitvoering van hanteerders kan oor verskeie bedieners versprei word - Storm paralleliseer outomaties werk met drade op verskillende cluster nodusse.

Die stelsel is oorspronklik in Clojure geskryf en loop binne die JVM virtuele masjien. Die Apache-stigting het 'n inisiatief van stapel gestuur om Storm te migreer na 'n nuwe kern wat in Java geskryf is, waarvan die resultate voorgestel word in die vrystelling van Apache Storm 2.0. Alle basiese komponente van die platform word in Java herskryf. Ondersteuning vir skryfhanteerders in Clojure is behou, maar word nou in die vorm van bindings aangebied. Storm 2.0.0 vereis Java 8. Die multi-draadverwerkingsmodel is heeltemal herontwerp, wat dit moontlik maak bereik 'n merkbare toename in werkverrigting (vir sommige topologieë is vertragings met 50-80% verminder).

Apache Storm 2.0 verspreide rekenaarstelsel beskikbaar

Die nuwe weergawe bied ook 'n nuwe getikte Streams API wat jou toelaat om hanteerders te definieer met behulp van funksionele programmering-styl bewerkings. Die nuwe API word bo-op die standaard basis API geïmplementeer en ondersteun outomatiese samevoeging van bedrywighede om hul verwerking te optimaliseer. Die Windowing API vir vensterbewerkings het ondersteuning bygevoeg vir die stoor en herstel van toestand in die backend.

Ondersteuning om bykomende hulpbronne in ag te neem wanneer besluite geneem word nie beperk tot
SVE en geheue, soos netwerk- en GPU-instellings. 'n Groot aantal verbeterings is aangebring om integrasie met die platform te verseker Kafka. Die toegangsbeheerstelsel is uitgebrei om die vermoë in te sluit om administrateurgroepe te skep en tokens te delegeer. Bygevoeg verbeterings wat verband hou met SQL en metrieke ondersteuning. Nuwe opdragte het in die administrateur-koppelvlak verskyn om die groepstatus te ontfout.

Toepassingsgebiede vir Storm:

  • Verwerking van strome van nuwe data of databasisopdaterings intyds;
  • Deurlopende berekening: Storm kan deurlopende navrae uitvoer en deurlopende strome verwerk, wat verwerkingsresultate intyds aan die kliënt lewer.
  • Verspreide Remote Procedure Call (RPC): Storm kan gebruik word om parallelle uitvoering van hulpbron-intensiewe navrae te verskaf. 'n Werk ("topologie") in Storm is 'n funksie versprei oor nodusse wat wag vir boodskappe om te arriveer wat verwerk moet word. Nadat 'n boodskap ontvang is, verwerk die funksie dit in die plaaslike konteks en gee die resultaat terug. 'n Voorbeeld van die gebruik van verspreide RPC sou wees om soeknavrae parallel te verwerk of bewerkings op 'n groot stel stelle uit te voer.

Storm kenmerke:

  • 'n Eenvoudige programmeringsmodel wat intydse dataverwerking aansienlik vereenvoudig;
  • Ondersteuning vir enige programmeertale. Modules is beskikbaar vir Java, Ruby en Python, aanpassing vir ander tale is maklik danksy 'n baie eenvoudige kommunikasieprotokol wat ongeveer 100 reëls kode benodig om te ondersteun;
  • Foutverdraagsaamheid: om 'n dataverwerkingstaak uit te voer, moet jy 'n jar-lêer met kode genereer. Storm sal hierdie jar-lêer onafhanklik oor die cluster nodusse versprei, die hanteerders wat daarmee geassosieer word, verbind en monitering organiseer. Wanneer die taak voltooi is, sal die kode outomaties op alle nodusse gedeaktiveer word;
  • Horisontale skaalbaarheid. Alle berekeninge word in parallelle modus uitgevoer; namate die las toeneem, is dit genoeg om eenvoudig nuwe nodusse aan die groep te koppel;
  • Betroubaarheid. Storm verseker dat elke inkomende boodskap ten minste een keer volledig verwerk word. Die boodskap sal slegs een keer verwerk word as daar geen foute is wanneer deur alle hanteerders gaan nie; as probleme opduik, sal onsuksesvolle verwerkingspogings herhaal word.
  • Spoed. Storm se kode is geskryf met hoë werkverrigting in gedagte en gebruik die stelsel vir vinnige asinchroniese boodskappe ZeroMQ.

Bron: opennet.ru

Voeg 'n opmerking