Apache Storm 2.0 ferspraat komputersysteem beskikber

Seach it ljocht wichtige frijlitting fan in ferspraat evenemint ferwurkjen systeem Apache Storm 2.0, opmerklik foar syn oergong nei in nije arsjitektuer ymplementearre yn Java, ynstee fan de earder brûkte Clojure-taal.

It projekt lit jo garandearre ferwurking fan ferskate eveneminten yn realtime organisearje. Bygelyks, Storm kin brûkt wurde om gegevensstreamen yn realtime te analysearjen, masine-leartaken út te fieren, kontinuze berekkenjen te organisearjen, RPC, ETL, ensfh. It systeem stipet klustering, oanmeitsjen fan fouttolerante konfiguraasjes, garandearre gegevensferwurkingsmodus en hat hege prestaasjes, genôch om mear as in miljoen oanfragen per sekonde op ien klusterknoop te ferwurkjen.

Yntegraasje mei ferskate wachtrige ferwurkingssystemen en databanktechnologyen wurdt stipe. De Storm-arsjitektuer omfettet it ûntfangen en ferwurkjen fan unstrukturearre, konstant bywurke gegevensstreamen mei willekeurige komplekse processors mei de mooglikheid om te dielen tusken ferskate stadia fan berekkeningen. It projekt waard oerdroegen oan de Apache-mienskip neidat Twitter BackType oankocht, it bedriuw dat oarspronklik it ramt ûntwikkele. Yn 'e praktyk waard Storm yn BackType brûkt om de refleksje fan eveneminten yn mikroblogs te analysearjen, troch nije tweets te fergelykjen en de keppelings dy't dêryn brûkt wurde (bygelyks waard beoardiele hoe't eksterne keppelings of oankundigings publisearre op Twitter troch oare dielnimmers opnij útstjoerd waarden ).

De funksjonaliteit fan Storm wurdt fergelike mei it Hadoop-platfoarm, mei it wichtichste ferskil dat de gegevens net opslein wurde yn in pakhús, mar ekstern wurde ynnommen en yn realtime ferwurke. Storm hat gjin ynboude opslachlaach en de analytyske query begjint te wurde tapast op ynkommende gegevens oant it wurdt annulearre (wylst Hadoop finite-time MapReduce-banen brûkt, brûkt Storm it idee fan kontinu útfiere "topologyen"). De útfiering fan handlers kin wurde ferdield oer ferskate tsjinners - Storm automatysk parallelizes wurk mei triedden op ferskate kluster knopen.

It systeem waard oarspronklik skreaun yn Clojure en rint binnen de JVM firtuele masine. De Apache Foundation hat in inisjatyf lansearre om Storm te migrearjen nei in nije kernel skreaun yn Java, wêrfan de resultaten wurde foarsteld yn 'e frijlitting fan Apache Storm 2.0. Alle basiskomponinten fan it platfoarm wurde opnij skreaun yn Java. Stipe foar skriuwbehannelers yn Clojure is behâlden, mar wurdt no oanbean yn de foarm fan binings. Storm 2.0.0 fereasket Java 8. It multi-threaded ferwurkingsmodel is folslein opnij ûntwurpen, wêrtroch berikke in merkbere ferheging fan prestaasjes (foar guon topologyen waarden fertragingen fermindere mei 50-80%).

Apache Storm 2.0 ferspraat komputersysteem beskikber

De nije ferzje biedt ek in nije typte Streams API wêrmei jo hannelers kinne definiearje mei funksjonele operaasjes yn programmearringstyl. De nije API wurdt ymplementearre boppe op 'e standert basis API en stipet automatysk gearfoegjen fan operaasjes om har ferwurking te optimalisearjen. De Windowing API foar finsteroperaasjes hat stipe tafoege foar it bewarjen en herstellen fan steat yn 'e efterkant.

Stipe foar it rekkenjen fan ekstra middels by it nimmen fan besluten net beheind ta
CPU en ûnthâld, lykas netwurk en GPU ynstellings. In grut oantal ferbetterings binne makke om yntegraasje mei it platfoarm te garandearjen Kafka. It tagongskontrôlesysteem is útwreide om de mooglikheid te meitsjen om beheardersgroepen te meitsjen en tokens te delegearjen. Tafoege ferbetterings yn ferbân mei SQL en metriken stipe. Nije kommando's binne ferskynd yn 'e behearderynterface foar it debuggen fan' e klusterstatus.

Gebieten fan tapassing foar Storm:

  • Ferwurkjen fan streamen fan nije gegevens as databankupdates yn realtime;
  • Continuous Computing: Storm kin trochgeande queries útfiere en trochgeande streamen ferwurkje, ferwurkingsresultaten leverje oan 'e kliïnt yn realtime.
  • Ferspraat Remote Procedure Call (RPC): Storm kin brûkt wurde om te foarsjen parallelle útfiering fan boarne-yntinsive queries. In baan ("topology") yn Storm is in funksje ferdield oer knopen dy't wachtet op berjochten om te kommen dy't moatte wurde ferwurke. Nei it ûntfangen fan in berjocht ferwurket de funksje it yn 'e lokale kontekst en jout it resultaat werom. In foarbyld fan it brûken fan ferdield RPC soe wêze om sykfragen parallel te ferwurkjen of operaasjes út te fieren op in grutte set sets.

Storm Features:

  • In ienfâldich programmearring model dat gâns simplifies real-time gegevens ferwurkjen;
  • Stipe foar alle programmeartalen. Modules binne beskikber foar Java, Ruby en Python, oanpassing foar oare talen is maklik troch in heul ienfâldich kommunikaasjeprotokol dat sawat 100 rigels koade fereasket om te stypjen;
  • Feiltolerânsje: om in taak foar gegevensferwurking út te fieren, moatte jo in jar-bestân generearje mei koade. Storm sil dizze jar-bestân selsstannich fersprieden oer de klusterknooppunten, ferbine de handlers dy't dêrmei ferbûn binne en kontrôle organisearje. As de baan foltôge, de koade wurdt automatysk útskeakele op alle knopen;
  • Horizontale skaalberens. Alle berekkeningen wurde útfierd yn parallel modus; as de lading ferheget, is it genôch om gewoan nije knopen te ferbinen mei it kluster;
  • Betrouberens. Storm soarget derfoar dat elk ynkommende berjocht op syn minst ien kear folslein ferwurke wurdt. It berjocht sil allinich ien kear ferwurke wurde as d'r gjin flaters binne by it trochjaan fan alle handlers; as der problemen ûntsteane, dan wurde mislearre ferwurkingspogingen werhelle.
  • Faasje. De koade fan Storm is skreaun mei hege prestaasjes yn gedachten en brûkt it systeem foar rappe asynchrone messaging ZeroMQ.

Boarne: opennet.ru

Add a comment