Apache Storm 2.0 distribye sistèm informatique disponib

Wè limyè a lage enpòtan nan yon sistèm pwosesis evènman distribye Apache Tanpèt 2.0, remakab pou tranzisyon li nan yon nouvo achitekti aplike nan Java, olye pou yo itilize Clojure lang deja.

Pwojè a pèmèt ou òganize pwosesis garanti nan divès evènman an tan reyèl. Pou egzanp, Storm ka itilize pou analize kouran done an tan reyèl, kouri travay aprantisaj machin, òganize kontinyèl informatique, aplike RPC, ETL, elatriye. Sistèm nan sipòte gwoupman, kreyasyon konfigirasyon ki toleran fay, mòd pwosesis done garanti epi li gen gwo pèfòmans, ase pou trete plis pase yon milyon demann pou chak segonn sou yon sèl ne grap.

Entegrasyon ak divès kalite sistèm pwosesis keu ak teknoloji baz done sipòte. Achitekti Tanpèt la enplike nan resevwa ak trete kouran done san estrikti, toujou ap mete ajou lè l sèvi avèk processeur konplèks abitrè ak kapasite nan patisyon ant diferan etap nan kalkil. Pwojè a te remèt bay kominote Apache apre Twitter te akeri BackType, konpayi ki te devlope fondasyon an. Nan pratik, Storm te itilize nan BackType pou analize refleksyon evènman yo nan mikroblog, lè w konpare sou vole nouvo tweets ak lyen yo itilize ladan yo (pa egzanp, li te evalye kijan lyen ekstèn oswa anons ki te pibliye sou Twitter yo te redifize pa lòt patisipan yo. ).

Fonksyonalite Storm la konpare ak platfòm Hadoop la, ak diferans kle yo se ke done yo pa estoke nan yon depo, men yo vale deyò epi yo trete an tan reyèl. Storm pa gen yon kouch depo entegre epi rechèch analyse a kòmanse aplike nan done k ap rantre jiskaske li anile (pandan ke Hadoop sèvi ak travay MapReduce nan tan fini, Storm itilize lide pou kontinye kouri "topoloji"). Egzekisyon moun kap okipe yo ka distribye atravè plizyè serveurs - Storm otomatikman paralèlize travay ak fil sou diferan nœuds gwoup.

Sistèm nan te ekri orijinal nan Clojure epi li kouri andedan machin vityèl JVM la. Fondasyon Apache te lanse yon inisyativ pou imigre Storm nan yon nouvo nwayo ekri an Java, rezilta yo pwopoze nan lage Apache Storm 2.0. Tout eleman debaz nan platfòm la reekri nan Java. Sipò pou moun k ap okipe ekriti nan Clojure yo te konsève, men kounye a yo ofri nan fòm lan nan obligatwa. Tanpèt 2.0.0 mande Java 8. Modèl pwosesis milti-threaded la konplètman reamenaje, sa ki pèmèt reyalize yon ogmantasyon aparan nan pèfòmans (pou kèk topoloji, reta yo te redwi pa 50-80%).

Apache Storm 2.0 distribye sistèm informatique disponib

Nouvo vèsyon an ofri tou yon nouvo tape Streams API ki pèmèt ou defini moun kap okipe yo lè l sèvi avèk operasyon fonksyonèl pwogramasyon-style. Nouvo API a aplike sou tèt API de baz estanda a epi li sipòte otomatik fusion operasyon yo pou optimize pwosesis yo. API Windowing pou operasyon fenèt yo te ajoute sipò pou sove ak restore eta nan backend la.

Sipò pou pran an kont resous adisyonèl lè w ap pran desizyon pa limite a
CPU ak memwa, tankou anviwònman rezo ak GPU. Yon gwo kantite amelyorasyon yo te fè asire entegrasyon ak platfòm la Kafka. Sistèm kontwòl aksè a te elaji pou genyen kapasite pou kreye gwoup administratè ak siy delege. Te ajoute amelyorasyon ki gen rapò ak sipò SQL ak mezi. Nouvo kòmandman parèt nan koòdone administratè a pou debogaj eta gwoup la.

Domèn aplikasyon pou Tanpèt:

  • Pwosesis kouran nouvo done oswa mizajou baz done an tan reyèl;
  • Kontinyèl Computing: Storm ka kouri demann kontinyèl ak trete kouran kontinyèl, bay rezilta pwosesis bay kliyan an an tan reyèl.
  • Distribiye Remote Pwosedi Apèl (RPC): Tanpèt ka itilize pou bay ekzekisyon paralèl demann ki gen anpil resous. Yon travay ("topoloji") nan Storm se yon fonksyon distribye atravè nœuds ki tann pou mesaj yo rive ki bezwen trete. Apre li fin resevwa yon mesaj, fonksyon an trete li nan kontèks lokal la epi li retounen rezilta a. Yon egzanp lè l sèvi avèk distribiye RPC ta dwe trete demann rechèch nan paralèl oswa fè operasyon sou yon seri gwo seri.

Karakteristik Tanpèt:

  • Yon modèl pwogramasyon senp ki senplifye pwosesis done an tan reyèl;
  • Sipò pou nenpòt lang pwogramasyon. Gen modil pou Java, Ruby ak Python, adaptasyon pou lòt lang pa difisil akòz yon pwotokòl kominikasyon trè senp, ki mande apeprè 100 liy kòd pou sipòte;
  • Tolerans fay: pou fè yon travay tretman done, ou bezwen jenere yon fichye bokal ak kòd. Storm pral distribye fichye bokal sa a poukont yo atravè nœuds gwoup yo, konekte moun kap okipe li yo, epi òganize siveyans. Lè travay la fini, kòd la pral otomatikman enfim sou tout nœuds;
  • Évolutivité orizontal. Tout kalkil yo fèt nan mòd paralèl; kòm chaj la ogmante, li se ase tou senpleman konekte nouvo nœuds nan gwoup la;
  • Fyab. Tanpèt asire ke chak mesaj fèk ap rantre yo konplètman trete omwen yon fwa. Mesaj la pral trete yon fwa sèlman si pa gen okenn erè lè w ap pase nan tout moun kap okipe yo; si pwoblèm rive, yo pral repete tantativ pwosesis san siksè.
  • Vitès. Kòd Storm ekri ak pèfòmans segondè nan tèt ou epi li sèvi ak sistèm nan pou mesaj rapid asynchrone ZeroMQ.

Sous: opennet.ru

Add nouvo kòmantè