Apache Storm 2.0 mfumo wa kompyuta uliosambazwa unapatikana

aliona mwanga kutolewa muhimu kwa mfumo wa usindikaji wa tukio uliosambazwa Dhoruba ya Apache 2.0, inayojulikana kwa mpito wake kwa usanifu mpya uliotekelezwa katika Java, badala ya lugha ya Clojure iliyotumika hapo awali.

Mradi hukuruhusu kupanga usindikaji uliohakikishwa wa hafla anuwai kwa wakati halisi. Kwa mfano, Storm inaweza kutumika kuchanganua mitiririko ya data kwa wakati halisi, kuendesha kazi za kujifunza kwa mashine, kupanga kompyuta inayoendelea, kutekeleza RPC, ETL, n.k. Mfumo huu unaauni uunganishaji, uundaji wa usanidi unaostahimili hitilafu, hali ya uchakataji wa data iliyohakikishwa na ina utendaji wa juu, unaotosha kuchakata maombi zaidi ya milioni moja kwa sekunde kwenye nodi ya nguzo moja.

Kuunganishwa na mifumo mbalimbali ya usindikaji wa foleni na teknolojia za hifadhidata kunasaidiwa. Usanifu wa Storm unahusisha kupokea na kuchakata mitiririko ya data isiyo na muundo, iliyosasishwa kila mara kwa kutumia vichakataji changamani kiholela vyenye uwezo wa kugawanya kati ya hatua tofauti za hesabu. Mradi huo ulikabidhiwa kwa jumuiya ya Apache baada ya Twitter kupata BackType, kampuni ambayo awali ilitengeneza mfumo huo. Kiutendaji, Storm ilitumika katika BackType kuchanganua uakisi wa matukio katika blogu ndogo, kwa kulinganisha tweets mpya zinazoruka na viungo vilivyotumiwa ndani yao (kwa mfano, ilitathminiwa jinsi viungo vya nje au matangazo yaliyochapishwa kwenye Twitter yalivyotangazwa tena na washiriki wengine. )

Utendaji wa Storm unalinganishwa na jukwaa la Hadoop, tofauti kuu ikiwa kwamba data haihifadhiwi kwenye ghala, lakini inamezwa nje na kuchakatwa kwa wakati halisi. Storm haina safu ya hifadhi iliyojengewa ndani na hoja ya uchanganuzi huanza kutumika kwa data inayoingia hadi itakapoghairiwa (wakati Hadoop inatumia kazi za muda mfupi MapReduce, Storm hutumia wazo la kuendelea kuendesha "topolojia"). Utekelezaji wa vidhibiti unaweza kusambazwa kwenye seva kadhaa - Storm hulinganisha kiotomatiki kazi na nyuzi kwenye nodi tofauti za nguzo.

Mfumo huo hapo awali uliandikwa kwa Clojure na unaendesha ndani ya mashine ya kawaida ya JVM. Wakfu wa Apache umezindua mpango wa kuhamia Storm hadi kernel mpya iliyoandikwa katika Java, matokeo ambayo yanapendekezwa katika kutolewa kwa Apache Storm 2.0. Vipengele vyote vya msingi vya jukwaa vimeandikwa tena katika Java. Usaidizi wa vidhibiti vya uandishi katika Clojure umehifadhiwa, lakini sasa unatolewa kwa njia ya vifungashio. Storm 2.0.0 inahitaji Java 8. Muundo wa usindikaji wa nyuzi nyingi umeundwa upya kabisa, kuruhusu ili kufikia ongezeko kubwa la utendaji (kwa baadhi ya topolojia, ucheleweshaji ulipunguzwa kwa 50-80%).

Apache Storm 2.0 mfumo wa kompyuta uliosambazwa unapatikana

Toleo jipya pia hutoa API mpya ya Mitiririko iliyochapwa ambayo hukuruhusu kufafanua vidhibiti kwa kutumia utendakazi wa utendakazi wa mtindo wa utendakazi wa utendakazi. API mpya inatekelezwa juu ya API ya msingi ya kawaida na inasaidia uunganishaji wa otomatiki wa shughuli ili kuboresha uchakataji wao. API ya Windowing ya utendakazi wa dirisha imeongeza usaidizi wa kuhifadhi na kurejesha hali katika sehemu ya nyuma.

Usaidizi wa kuzingatia rasilimali za ziada wakati wa kufanya maamuzi sio tu
CPU na kumbukumbu, kama vile mipangilio ya mtandao na GPU. Idadi kubwa ya maboresho yamefanywa ili kuhakikisha kuunganishwa na jukwaa Kafka. Mfumo wa udhibiti wa ufikiaji umepanuliwa ili kujumuisha uwezo wa kuunda vikundi vya wasimamizi na kukabidhi tokeni. Umeongeza maboresho yanayohusiana na usaidizi wa SQL na vipimo. Amri mpya zimeonekana katika kiolesura cha msimamizi kwa kutatua hali ya nguzo.

Maeneo ya maombi ya Storm:

  • Inachakata mitiririko ya data mpya au sasisho za hifadhidata kwa wakati halisi;
  • Kompyuta Inayoendelea: Dhoruba inaweza kuendesha maswali na kuchakata mitiririko inayoendelea, ikitoa matokeo ya uchakataji kwa mteja kwa wakati halisi.
  • Simu Iliyosambazwa ya Utaratibu wa Mbali (RPC): Dhoruba inaweza kutumika kutoa utekelezaji sambamba wa hoja zinazohitaji rasilimali nyingi. Kazi (β€œtopolojia”) katika Storm ni chaguo za kukokotoa zinazosambazwa katika sehemu zote ambazo husubiri ujumbe kufika unaohitaji kuchakatwa. Baada ya kupokea ujumbe, kazi huichakata katika muktadha wa ndani na kurudisha matokeo. Mfano wa kutumia RPC iliyosambazwa itakuwa kuchakata hoja za utafutaji sambamba au kufanya shughuli kwenye seti kubwa.

Vipengele vya Dhoruba:

  • Muundo rahisi wa programu ambao hurahisisha sana usindikaji wa data wa wakati halisi;
  • Msaada kwa lugha yoyote ya programu. Moduli zinapatikana kwa Java, Ruby na Python, urekebishaji wa lugha zingine ni rahisi shukrani kwa itifaki rahisi ya mawasiliano ambayo inahitaji karibu mistari 100 ya msimbo kusaidia;
  • Uvumilivu wa makosa: ili kuendesha kazi ya usindikaji wa data, unahitaji kutoa faili ya jar na msimbo. Storm itasambaza faili hii ya mtungi kwa uhuru kwenye nodi za nguzo, kuunganisha vidhibiti vinavyohusishwa nayo, na kupanga ufuatiliaji. Wakati kazi itakamilika, msimbo utazimwa moja kwa moja kwenye nodes zote;
  • Kuongezeka kwa usawa. Mahesabu yote yanafanywa kwa hali ya sambamba; mzigo unapoongezeka, inatosha tu kuunganisha nodi mpya kwenye nguzo;
  • Kuegemea. Storm huhakikisha kwamba kila ujumbe unaoingia unachakatwa kikamilifu angalau mara moja. Ujumbe utachakatwa mara moja tu ikiwa hakuna hitilafu wakati wa kupitia vidhibiti vyote; matatizo yakitokea, basi majaribio yasiyofaulu ya kuchakata yatarudiwa.
  • Kasi. Msimbo wa Storm umeandikwa kwa utendakazi wa hali ya juu akilini na hutumia mfumo kwa utumaji ujumbe usiolingana kwa haraka ZeroMQ.

Chanzo: opennet.ru

Kuongeza maoni