Apache Storm 2.0 dreift tölvukerfi í boði

sá ljósið veruleg útgáfa á dreifðu viðburðavinnslukerfi Apache Storm 2.0, áberandi fyrir umskipti þess yfir í nýjan arkitektúr sem er útfærður í Java, í stað áður notaða Clojure tungumálsins.

Verkefnið gerir þér kleift að skipuleggja trygga vinnslu á ýmsum viðburðum í rauntíma. Til dæmis er hægt að nota Storm til að greina gagnastrauma í rauntíma, keyra vélanámsverkefni, skipuleggja stöðuga tölvuvinnslu, innleiða RPC, ETL o.s.frv. Kerfið styður klasagerð, gerð bilunarþolinna stillinga, tryggða gagnavinnsluham og hefur mikla afköst sem nægir til að vinna úr meira en milljón beiðnum á sekúndu á einum klasahnút.

Samþætting við ýmis biðröðvinnslukerfi og gagnagrunnstækni er studd. Storm arkitektúrinn felur í sér að taka á móti og vinna úr ómótuðum, stöðugt uppfærðum gagnastraumum með því að nota handahófskennda flókna örgjörva með getu til að skipta á milli mismunandi útreikningsstiga. Verkefnið var afhent Apache samfélaginu eftir að Twitter keypti BackType, fyrirtækið sem upphaflega þróaði rammann. Í reynd var Storm notað í BackType til að greina endurspeglun atburða í örbloggum, með því að bera saman ný tíst og tengla sem notaðir voru í þeim (til dæmis var metið hvernig ytri hlekkir eða tilkynningar birtar á Twitter voru endursýndar af öðrum þátttakendum ).

Virkni Storm er borin saman við Hadoop vettvanginn, þar sem lykilmunurinn er sá að gögnin eru ekki geymd í vöruhúsi heldur tekin inn að utan og unnin í rauntíma. Storm er ekki með innbyggt geymslulag og greiningarfyrirspurninni byrjar að beita á komandi gögnum þar til það er hætt við (á meðan Hadoop notar endanlegt MapReduce störf, notar Storm þá hugmynd að keyra stöðugt „landfræði“). Framkvæmd meðhöndlara er hægt að dreifa á nokkra netþjóna - Storm samsærir sjálfkrafa vinnu við þræði á mismunandi klasahnútum.

Kerfið var upphaflega skrifað í Clojure og keyrir inni í JVM sýndarvélinni. Apache Foundation hefur hleypt af stokkunum frumkvæði til að flytja Storm yfir í nýjan kjarna sem er skrifaður í Java, en niðurstöður hans eru lagðar til í útgáfu Apache Storm 2.0. Allir grunnþættir vettvangsins eru endurskrifaðir í Java. Stuðningur við rithöfunda í Clojure hefur haldist, en er nú boðinn í formi bindingar. Storm 2.0.0 krefst Java 8. Fjölþráða vinnslulíkanið hefur verið algjörlega endurhannað, sem gerir kleift að afreka áberandi aukning á afköstum (fyrir suma staðfræði minnkaði tafir um 50-80%).

Apache Storm 2.0 dreift tölvukerfi í boði

Nýja útgáfan býður einnig upp á nýtt vélritað Streams API sem gerir þér kleift að skilgreina meðhöndlun með því að nota hagnýtar aðgerðir í forritunarstíl. Nýja API er innleitt ofan á staðlaða grunn API og styður sjálfvirka sameiningu aðgerða til að hámarka vinnslu þeirra. Windowing API fyrir gluggaaðgerðir hefur bætt við stuðningi við að vista og endurheimta ástand í bakendanum.

Stuðningur við að taka tillit til viðbótarúrræða við ákvarðanir sem ekki takmarkast við
Örgjörvi og minni, svo sem net- og GPU stillingar. Mikill fjöldi endurbóta hefur verið gerðar til að tryggja samþættingu við vettvanginn Kafka. Aðgangsstýringarkerfið hefur verið stækkað til að fela í sér möguleika á að búa til stjórnendahópa og úthluta táknum. Bætt við endurbótum sem tengjast SQL og mælikvarðastuðningi. Nýjar skipanir hafa birst í viðmóti stjórnanda til að kemba stöðu klasa.

Notkunarsvið fyrir Storm:

  • Vinnsla strauma nýrra gagna eða gagnagrunnsuppfærslur í rauntíma;
  • Continuous Computing: Storm getur keyrt stöðugar fyrirspurnir og unnið úr samfelldum straumum, skilað vinnsluniðurstöðum til viðskiptavinarins í rauntíma.
  • Distributed Remote Procedure Call (RPC): Storm er hægt að nota til að veita samhliða framkvæmd á auðlindafrekum fyrirspurnum. Starf („svæðifræði“) í Storm er aðgerð sem er dreift yfir hnúta sem bíður eftir að skilaboð berist sem þarf að vinna úr. Eftir að hafa fengið skilaboð vinnur aðgerðin þau í staðbundnu samhengi og skilar niðurstöðunni. Dæmi um að nota dreifða RPC væri að vinna leitarfyrirspurnir samhliða eða framkvæma aðgerðir á stórum settum.

Storm eiginleikar:

  • Einfalt forritunarlíkan sem einfaldar gagnavinnslu í rauntíma til muna;
  • Stuðningur við hvaða forritunarmál sem er. Einingar eru fáanlegar fyrir Java, Ruby og Python, aðlögun fyrir önnur tungumál er auðveld þökk sé mjög einfaldri samskiptareglu sem þarf um 100 línur af kóða til að styðja;
  • Bilunarþol: til að keyra gagnavinnsluvinnu þarftu að búa til jar skrá með kóða. Storm mun sjálfstætt dreifa þessari jar skrá yfir klasahnúta, tengja meðhöndlana sem tengjast henni og skipuleggja eftirlit. Þegar verkinu er lokið verður kóðinn sjálfkrafa óvirkur á öllum hnútum;
  • Lárétt sveigjanleiki. Allir útreikningar eru gerðir í samhliða ham; þegar álagið eykst er nóg að einfaldlega tengja nýja hnúta við þyrpinguna;
  • Áreiðanleiki. Storm tryggir að öll komandi skilaboð séu að fullu unnin að minnsta kosti einu sinni. Skilaboðin verða aðeins unnin einu sinni ef engar villur eru þegar farið er í gegnum alla meðhöndlunaraðila; ef vandamál koma upp verða misheppnaðar vinnslutilraunir endurteknar.
  • Hraði. Kóði Storm er skrifaður með mikla afköst í huga og notar kerfið fyrir hröð ósamstillt skilaboð ZeroMQ.

Heimild: opennet.ru

Bæta við athugasemd