Apache Storm 2.0 verdeelt Rechensystem verfügbar

d'Luucht gesinn bedeitend Verëffentlechung vun engem verdeelt Eventveraarbechtungssystem Apache Storm 2.0, Notabel fir säin Iwwergank zu enger neier Architektur déi am Java implementéiert ass, amplaz vun der virdru benotzter Clojure Sprooch.

De Projet erlaabt Iech eng garantéiert Veraarbechtung vu verschiddenen Eventer an Echtzäit ze organiséieren. Zum Beispill, Storm kann benotzt ginn fir Datestroum an Echtzäit ze analyséieren, Maschinn Léieren Aufgaben auszeféieren, kontinuéierlech Informatik z'organiséieren, RPC, ETL, etc. De System ënnerstëtzt Clustering, Schafung vu Feeler-tolerante Konfiguratiounen, garantéierte Dateveraarbechtungsmodus an huet héich Leeschtung, genuch fir méi wéi eng Millioun Ufroe pro Sekonn op engem Clusternode ze veraarbecht.

Integratioun mat verschiddene Schlaangveraarbechtungssystemer an Datebanktechnologien gëtt ënnerstëtzt. D'Storm Architektur beinhalt d'Empfang an d'Veraarbechtung vun onstrukturéierten, stänneg aktualiséierten Datestroum mat arbiträre komplexe Prozessoren mat der Fäegkeet tëscht verschiddene Berechnungsstadien ze partitionéieren. De Projet gouf un d'Apache Gemeinschaft iwwerginn nodeems Twitter BackType kaaft huet, d'Firma déi ursprénglech de Kader entwéckelt huet. An der Praxis gouf de Storm am BackType benotzt fir d'Reflexioun vun Eventer a Mikroblogs ze analyséieren, andeems Dir nei Tweets an de Linken déi an hinnen benotzt vergläicht (zum Beispill gouf bewäert wéi extern Linken oder Ukënnegungen op Twitter publizéiert goufen vun anere Participanten nei ausgestraalt. ).

D'Funktionalitéit vum Storm gëtt mat der Hadoop Plattform verglach, mam Schlësselunterscheed ass datt d'Donnéeën net an engem Lagerhaus gespäichert ginn, mee extern agehale ginn an an Echtzäit veraarbecht ginn. Storm huet keng agebaute Späicherschicht an d'analytesch Ufro fänkt un op erakommen Donnéeën applizéiert ze ginn bis se annuléiert ginn (während Hadoop endlech Zäit MapReduce Jobs benotzt, benotzt Storm d'Iddi fir kontinuéierlech "Topologien" ze lafen). D'Ausféierung vun Handler kann iwwer verschidde Server verdeelt ginn - Storm paralleliséiert automatesch Aarbecht mat Threads op verschiddene Clusternoden.

De System gouf ursprénglech a Clojure geschriwwen a leeft an der JVM virtueller Maschinn. D'Apache Foundation huet eng Initiativ lancéiert fir de Storm op en neie Kernel ze migréieren, deen am Java geschriwwe gëtt, d'Resultater vun deenen an der Verëffentlechung vum Apache Storm 2.0 proposéiert ginn. All Basiskomponente vun der Plattform ginn op Java nei geschriwwe ginn. Ënnerstëtzung fir Schreifhändler zu Clojure gouf behalen, awer gëtt elo a Form vu Bindungen ugebueden. Storm 2.0.0 erfuerdert Java 8. De Multi-threaded Veraarbechtungsmodell gouf komplett nei designt, wat erlaabt erreechen eng merkbar Erhéijung vun der Leeschtung (fir e puer Topologien goufen d'Verspéidungen ëm 50-80% reduzéiert).

Apache Storm 2.0 verdeelt Rechensystem verfügbar

Déi nei Versioun bitt och eng nei getippten Streams API déi Iech erlaabt Handler ze definéieren mat funktionnelle Programméierungsstil Operatiounen. Déi nei API gëtt uewen op der Standard Basis API implementéiert an ënnerstëtzt automatesch Fusioun vun Operatiounen fir hir Veraarbechtung ze optimiséieren. D'Windowing API fir Fënsteroperatiounen huet Ënnerstëtzung bäigefüügt fir den Zoustand am Backend ze späicheren an ze restauréieren.

Ënnerstëtzung fir zousätzlech Ressourcen Rechnung ze huelen wann Entscheedungen net limitéiert op
CPU an Erënnerung, wéi Netz an GPU Astellunge. Eng grouss Zuel vu Verbesserunge goufe gemaach fir d'Integratioun mat der Plattform ze garantéieren Kafka. Den Zougangskontrollsystem gouf erweidert fir d'Fäegkeet ze enthalen fir Administratorgruppen ze kreéieren an Tokens ze delegéieren. Zousätzlech Verbesserungen am Zesummenhang mat SQL a Metrik Support. Nei Befehle sinn an der Administrator-Interface erschéngt fir de Clusterzoustand ze Debuggéieren.

Uwendungsberäicher fir Storm:

  • Veraarbechtung vun neien Daten oder Datebankupdates an Echtzäit;
  • Continuous Computing: Storm kann kontinuéierlech Ufroen lafen a kontinuéierlech Streame veraarbechten, Veraarbechtungsresultater fir de Client an Echtzäit liwweren.
  • Verdeelt Remote Procedure Call (RPC): Storm ka benotzt ginn fir parallel Ausféierung vu Ressourceintensiv Ufroen ze bidden. Eng Aarbecht ("Topologie") am Storm ass eng Funktioun verdeelt iwwer Wirbelen, déi op Messagen waarden fir ze kommen, déi musse veraarbecht ginn. Nodeems Dir e Message kritt hutt, veraarbecht d'Funktioun et am lokalen Kontext a gëtt d'Resultat zréck. E Beispill fir verdeelt RPC ze benotzen wier Sichufroen parallel ze veraarbecht oder Operatiounen op enger grousser Set vu Sets auszeféieren.

Storm Features:

  • En einfache Programméierungsmodell deen d'Echtzäitdatenveraarbechtung immens vereinfacht;
  • Ënnerstëtzung fir all Programméierungssproochen. Moduler si verfügbar fir Java, Ruby a Python, Adaptatioun fir aner Sproochen ass einfach dank engem ganz einfache Kommunikatiounsprotokoll deen ongeféier 100 Zeilen Code erfuerdert fir z'ënnerstëtzen;
  • Feeler Toleranz: fir eng Dateveraarbechtungsjob auszeféieren, musst Dir e Jar-Datei mat Code generéieren. Storm wäert dës Jar-Datei onofhängeg iwwer d'Clusterknoten verdeelen, d'Handler verbannen, déi domat verbonne sinn, an d'Iwwerwaachung organiséieren. Wann d'Aarbecht fäerdeg ass, gëtt de Code automatesch op all Wirbelen ausgeschalt;
  • Horizontal Skalierbarkeet. All Berechnunge ginn am parallel Modus duerchgefouert; wéi d'Laascht eropgeet, ass et genuch fir einfach nei Wirbelen un de Stärekoup ze verbannen;
  • Zouverlässegkeet. Storm garantéiert datt all erakommen Message op d'mannst eemol voll veraarbecht gëtt. D'Botschaft gëtt nëmmen eemol veraarbecht wann et keng Feeler gëtt wann Dir duerch all Handler passéiert; wa Probleemer entstinn, da ginn net erfollegräich Veraarbechtungsversuche widderholl.
  • Speed. De Code vum Storm ass mat héijer Leeschtung am Kapp geschriwwen a benotzt de System fir séier asynchron Messagerie ZeroMQ.

Source: opennet.ru

Setzt e Commentaire